当前位置: 首页 > news >正文

广元建设网站要多少钱智慧团建网站注册

广元建设网站要多少钱,智慧团建网站注册,为什么没人做团购网站,外贸获客在现代应用系统中#xff0c;缓存是提高性能和减少数据库负载的重要手段之一。然而#xff0c;缓存的数据在某些情况下可能会过期或者变得无效#xff0c;因此需要及时进行清理。在复杂的应用系统中#xff0c;可能有多个系统、多个模块产生缓存清理需求#xff0c;而这些…在现代应用系统中缓存是提高性能和减少数据库负载的重要手段之一。然而缓存的数据在某些情况下可能会过期或者变得无效因此需要及时进行清理。在复杂的应用系统中可能有多个系统、多个模块产生缓存清理需求而这些系统、模块之间的清理任务需要高效的协作以避免数据竞争和资源浪费的问题。 本文将介绍一种高效处理多模块缓存清理需求的方案通过使用Redis消息队列采用生产者-消费者模式实现了多个系统、多个模块的消息生产和消费任务的合理协作。在这个方案中多个系统、多个模块可以同时生产清理缓存的消息消费者定期获取并合并这些消息后通过多线程进行缓存清理从而达到高效处理的目的。 生产者-消费者模式 生产者-消费者模式是一种经典的多线程设计模式用于解决多个生产者和消费者之间的协作问题。生产者负责生成数据并将其放入共享缓冲区而消费者则负责从缓冲区中取出数据并进行处理。这种模式的目标是确保生产者和消费者之间的有效沟通和数据交换从而避免竞态条件和数据不一致问题。 方案介绍 Redis是一种高性能的内存数据库同时也是一个强大的消息中间件。Redis支持多种数据结构包括List列表和Queue队列这些数据结构可以用于实现消息队列的功能。 在Redis中多个系统、多个模块可以将清理缓存的消息作为生产者生产并将这些消息添加到一个特定的Queue中。而缓存清理服务则定期从这个Queue中获取消息进行合并后再多个消费者进行缓存清理操作。这种模式称为生产者-消费者模式它实现了生产者和消费者的解耦使得多个系统、多个模块之间可以独立进行消息的生产由缓存清理服务统一多线程进行消息的消费从而提高系统的灵活性和可维护性使得业务系统于消息缓存系统之间不存在耦合关系。 第一步 初始化Redis连接和消息队列 首先需要在应用程序中初始化Redis连接以便于生产者和消费者能够连接到Redis数据库。同时创建一个消息队列用于存储多个系统、多个模块产生的清理缓存的消息。 第二步 系统或模块生产消息 每个模块可以根据自己的清理缓存需求产生对应的清理缓存消息并将消息添加到Redis的消息队列中。 MsgProduct import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service;import javax.annotation.Resource; import java.util.Map; import java.util.Set;Service Slf4j public class MsgProduct {private static final String KEY xj_test_queue;Resourceprivate RedissonCache redissonCache;public boolean msgAdd(MapString, SetString params){//生产消息return redissonCache.cacheAdd(KEY,params);} } 第三步 消费者定期获取并合并消息多线程缓存清理 消费者定期从Redis消息队列中获取缓存清理消息。获取到的消息可以按照namespace进行分类合并以便后续多线程消费时能够分别处理不同模块的缓存清理任务。 MsgConsumer import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service;import javax.annotation.Resource; import java.util.*; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit;Service Slf4j public class MsgConsumer {private static final String KEY xj_test_queue;Resourceprivate RedissonCache redissonCache;public void poll(){MapString, SetString params new LinkedHashMap();MapString, SetString msgMap redissonCache.cachePoll(KEY);int batchSize 500;String namespace;SetString msgSet;SetString mergedSet;while (batchSize 0 !ObjectUtils.isEmpty(msgMap)) {// 合并消息for (Map.EntryString, SetString entry : msgMap.entrySet()) {namespace entry.getKey();msgSet entry.getValue();mergedSet params.getOrDefault(namespace, new HashSet());mergedSet.addAll(msgSet);params.put(namespace, mergedSet);}batchSize--;msgMap redissonCache.cachePoll(KEY);}// 创建线程池ThreadPoolExecutor executor new ThreadPoolExecutor(10,15,60L,TimeUnit.MILLISECONDS,new ArrayBlockingQueue(10));for (Map.EntryString, SetString entry : params.entrySet()) {executor.execute(()- this.doFlush(entry.getKey(),entry.getValue()) );}}public void doFlush(String namespace,SetString provinces){try {//执行缓存清理逻辑log.info(清理缓存的接口编码为{},省份编码为{},namespace,provinces);}catch (Exception e){//缓存清理失败处理逻辑log.error(清理缓存失败,e);}}} 优势与收益 采用基于Redis消息队列的生产者-消费者模式我们成功解决了多个模块缓存清理的高效协作问题。这种模式的优势在于 提高性能与并发处理能力 多线程并发消费消息加速缓存清理任务的执行提高系统的整体性能。 灵活扩展 不同模块可以独立生产和消费消息系统的可扩展性大大增强。 数据一致性 通过合理的消息合并策略保证缓存清理任务的数据一致性。 资源节约 避免资源浪费和重复清理提高系统的资源利用率。 结语 在复杂的应用系统中多个系统、多个模块可能会同时产生缓存清理需求。基于Redis消息队列的生产者-消费者模式为这种场景提供了一种高效协作处理方案。通过生产者生产消息、消费者定期获取合并消息并进行多线程消费系统可以高效处理缓存清理任务保证数据的一致性和并发安全性。这种设计模式在当今大数据和高并发的背景下尤其重要对于提升系统性能和稳定性具有积极意义。
http://www.pierceye.com/news/4231/

相关文章:

  • 购物网站开发小结wordpress 添加地图
  • 网站运营 网站建设免费的黄页推广软件哪个好
  • 厦门网站建设方案书怎样做一个简单的网站
  • 百度 网站添加wordpress直达链接404
  • 网站备案需要多少天许昌seo推荐
  • 网站建设主要有哪些成本阿树wordpress
  • 手机网站 好处佛山专业的网页制作
  • 做好公众号 网站建设网上注册公司价格
  • 网站维护服务器信阳做网站的公司
  • 石柱网站制作网页qq空间登录
  • 重慶网站建设微网站 域名
  • 网站类型有wordpress实现双语
  • 查建设公司年度保证金网站咨询公司组织架构
  • 网站创建后台做网站的服务器很卡怎么办
  • 杭州做产地证去哪个网站深圳招聘网站前十排名
  • 陕西企业网站建设价格帝国cms 网站地图 xml
  • 北京网站建设公司兴田德润电话wordpress页面的设置
  • 云南网站设计平台长沙网络公司推广
  • 网页设计教程网站c 小说网站开发教程
  • 网站收录排名怎么做项目建设环境影响登记表在哪个网站
  • 贵阳网站开发哪家便宜河北搜索引擎优化
  • 如何做网站 seo苏州建筑业网
  • 成都响应式网站开发免费个人网站怎么做
  • 衡阳市住房和城乡建设局官方网站聊城手机网站建设电话
  • 齐全的网站建设企业管理培训课程免费
  • 网站后台 刷新网站建设 微信开发
  • 自助建设网站软件企业网站优化的方式
  • 网站开发报告步骤分析网站开发整套资料
  • 建立网站的原因内蒙古银税互动平台
  • 绥芬河建设工程网站gae+wordpress