新发地网站建设网页设计工资一般2017

web/2025/10/3 6:02:55/文章来源:
新发地网站建设,网页设计工资一般2017,wordpress 语言切换,网站模板和后台背景 如果各位看官是分布式项目应该都采用分布式缓存了#xff0c;例如redis等#xff0c;分布式缓存不在本次讨论范围哈#xff1b;我个人建议是#xff0c;如果是用户量比较大#xff0c;建议采用分布式缓存机制#xff0c;后期可以很容易前后到分布式服务或微服务。 …背景 如果各位看官是分布式项目应该都采用分布式缓存了例如redis等分布式缓存不在本次讨论范围哈我个人建议是如果是用户量比较大建议采用分布式缓存机制后期可以很容易前后到分布式服务或微服务。 我这边项目基本上都是单体架构因为业务场景需要用户一般就几十个最多最多也就是100多用户所以单体是完全满足的同时用户对于系统的要求也不高因此采用了单体架构但是后期可以切换到分布式这是后期需求如果遇到在调整。 问题 ok背景介绍完。那就是说下单体的问题出现的情况由于业务场景需要很多的应用缓存和功能局部缓存一开始设计这块时就没好好设计这块现在遇到问题了第一个应用缓存比较乱(也有公共的缓存机制但是有些业务不希望放到公共缓存里一般就在当前类上定义了缓存)第二个线上也出现了几次因为缓存未及时刷新造成垃圾数据的产生因此在这些问题的出现后需要进一步设计缓存机制了在不大调整业务代码的前提下如何及时进行刷新应用缓存呢 应用缓存刷新 一开始刷新机制很简单有模糊匹配缓存key进行删除有指定key进行删除的但是总有写业务写的不太规范有些乱关键后期也不晓得在什么情况下进行刷新了缓存这样的操作将会给后期项目遗留问题怎么解决呢方案是创建缓存接口需要进行实现接口然后需要进行缓存刷新的实现该接口进行处理什么时间进行刷新呢根据业务进行通知即可现在面临着一个问题有些类是交给spring管理的有些类是项目自己管理的并没有交给spring这个问题如何解决呢也好解决第一种全部交给spring容器管理通过spring拿到所有刷新缓存接口实现类进行循环调用刷新接口这块属于一刀切不过比较简单我这边没有采用第二种是原有代码不调整之前什么样就是什么样那就要有spi机制这块可以采用谷歌服务发现方式这里还需要考虑一个问题如果交给spring就不用spi发现没有交给spring就需要进行发现但是为了防止重复优先使用sping机制进行获取所偶刷新解决的实现类然后通过spi找到所有实现的类进行排查把增量的实现类添加给缓存类进行统一循环处理即可 demo Service Slf4j public class RefreshCacheUtils implements ApplicationContextAware, ApplicationRunner {private final static ListRefreshCache REFRESH_CACHE_LIST new ArrayList();private ApplicationContext applicationContext;public static void refreshByDeviceId(String deviceId) {for (RefreshCache refreshCache : REFRESH_CACHE_LIST) {refreshCache.refreshByDeviceId(deviceId);}}public static void refreshByBusinessId(String businessId) {for (RefreshCache refreshCache : REFRESH_CACHE_LIST) {refreshCache.refreshByBusinessId(businessId);}}public static void refreshdDefaultExecution(String otherParameter) {for (RefreshCache refreshCache : REFRESH_CACHE_LIST) {refreshCache.defaultExecution(otherParameter);}}/*** param args* throws Exception*/Overridepublic void run(ApplicationArguments args) throws Exception {MapString, RefreshCache beans applicationContext.getBeansOfType(RefreshCache.class);//使用jdk提供的类ServiceLoader来加载RefreshCache的子类//如果服务发现没有请检查RefreshCache实现类是否添加注解AutoService(value RefreshCache.class)//如果实现了RefreshCache的对应的类是被spring管理就不用加AutoService(value RefreshCache.class)这块逻辑已经进行整合了ServiceLoaderRefreshCache loaders ServiceLoader.load(RefreshCache.class);//把spring容器里的Cache实现类直接放入缓存REFRESH_CACHE_LIST.addAll(beans.values());//在进行处理spiloaders.stream().forEach(s - {//是否已经存在spring容器进行打标记AtomicBoolean isExistFlag new AtomicBoolean(false);for (RefreshCache refreshCache : REFRESH_CACHE_LIST) {String name refreshCache.getClass().getName();String spiName s.get().getClass().getName();//判断spi的对象是否在spring容器里如果在直接打上标记为true并结束循环if (name.equals(spiName) || name.contains(spiName $$)) {isExistFlag.set(true);break;}}//判断标记是否为true如果为true就说明都不处理如果为false加入到刷新缓存列表if (!isExistFlag.get()) {REFRESH_CACHE_LIST.add(s.get());}});log.info(所有待刷新缓存对象信息初始化完成{}, REFRESH_CACHE_LIST);}/*** param applicationContext* throws BeansException*/Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {this.applicationContext applicationContext;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机网站悬浮广告代码360弹出网站

1. 分布式架构:高防IP采用分布式架构部署,将流量均匀分散到多个服务器上进行处理,以达到承载大流量攻击的能力。这样可以减轻单个服务器的负载压力,提高抗攻击能力。 架构设计: - 前端负载均衡器:用于接…

婚纱摄影网站设计案例企业服务云

一、 Cookie和Session的发展史 一开始:只有一个页面,没有登录功能,大家看到东西都一样 新闻 时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息 京东、天猫 cookie 存储形式:k:v键值对 …

怎么提高网站的流量长沙网站推广服务公司

https://www.duote.com/tech/35/102713.html (二)Axure rp的线框图元件 l 图片 图片元件拖入编辑区后,可以通过双击选择本地磁盘中的图片,将图片载入到编辑区,axure会自动提示将大图片进行优化,以避免原型文件过大;选择图片时可以…

成都学校网站制作设计师网站登录入口

文章目录 四数之和题目描述示例 1示例 2提示解决方案1:【四层遍历查找】解决方案2:【哈希表】【三层遍历】 结束语 四数之和 四数之和 题目描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件…

网站角色管理系统如何开发电商网站

如下这是一个连接:https://s.tb.cn/c.0vDtL3https://s.tb.cn/c.0vDtL3 解决各种问题。可付费咨询

莱芜网站建设自助建站优化asp网站如何实现伪静态

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(meth…

网站域名申请成都水高新区建设局官方网站

01背包问题 题目链接:46. 携带研究材料 文档讲解:代码随想录 状态:忘了 二维dp 问题1:为啥会想到i代表第几个物品,j代表容量变化? 动态规划中,每次决策都依赖于前一个状态的结果,在…

网站改版 总结加载wordpress外部文件

多线程 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 (理解:应用软件中互相独立,可以同时运行的功能) 进程 进程是程序的基本执行实体。(理解&#…

电商网站建设费用如何在asp网站

在CentOS系统中,您可以使用以下工具来监控系统的运行情况: 1. top: top 是一个命令行工具,用于实时监控系统的进程、CPU、内存和负载情况。您可以使用以下命令来启动 top: top 输出 2. htop: htop 是一…

满山红厦门网站建设大连市房屋管理局官网

1、今天消费1710元 意外险 住院--集中参保 校---******----服 1220 rmB lunch 240Rmb

合肥做网站设计建设通相似的网站

源码说明PHP萌心上传直链外链网盘源码,小巧单文件,无需数据库,只需PHP运行环境即可。源码安装方法上传文件到PHP运行环境,修改index.php内的配置// 单个文件限制$max_file_size"51200";//大小指的KB,51200是…

网站建设在淘宝上以后让还让发布吗下载app软件安装

使用akshare可以很方便的获取同花顺行业列表,与每个行业对应的个股信息,流程如下: 使用ak.stock_board_industry_summary_ths()获取行业列表循环行业列表,使用ak.stock_board_industry_cons_ths()获取行业对应的个股信息 官方文…

福建建设工程设计备案网站百度网盘优化

这是敏捷开发一千零一问系列的第七篇。(之一,之二,之三,问题总目录)问题松结对编程中,师傅对徒弟安排任务时,对于有想法的徒弟提出的意见怎样解决?方案步骤0:正心&#x…

同城信息服务平台网站头部seo范例

11&#xff1a;C中有关queue常用函数的用法及其注意要项 #include<bits/stdc.h> using namespace std; int main(){queue <int> q;q.push() //在队尾插入一个元素q.pop() //删除队列第一个元素q.size() //返回队列中元素个数q.empty() //如果队列空则返回true…

ppt网站模板北京网站建设报价表

VS2022配置OpenCV环境 关于OpenCV在VS2022上配置的教程可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程 图像马赛克 图像马赛克&#xff08;Image Mosaic&#xff09;的原理基于将图像的特定区域替换为像素块&#xff0c;这些像素块可以是纯色或者平均色&#xff0c…

网站如何实现微网站添加 百度商桥

1.概述 在14.0系统ROM产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相关的功能 从而来实现所需要的功能 …

网站建设手机软件建网站需要哪些资质

文章目录 1、简介2、观察者模式简单实现抽象主题&#xff08;Subject&#xff09;具体主题&#xff08;ConcreteSubject&#xff09;抽象观察者&#xff08;Observer&#xff09;具体观察者&#xff08;ConcrereObserver&#xff09;测试&#xff1a; 观察者设计模式优缺点观察…

网站建设哪些字体没有版权阅读网站建设

1.概述 接着之前我们对Spring AOP以及基于AOP实现事务控制的上文&#xff0c;今天我们来看看平时在项目业务开发中使用声明式事务Transactional的失效场景&#xff0c;并分析其失效原因&#xff0c;从而帮助开发人员尽量避免踩坑。 我们知道 Spring 声明式事务功能提供了极其…