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

做词频分析的网站小程序制作实惠首选华网天下

做词频分析的网站,小程序制作实惠首选华网天下,参考消息官网手机网,网址导航123一 使用场景 在一些场景#xff0c;项目已发布了一段时间了#xff0c;只是需要完善或优化一些功能要用到队列#xff0c;但不想改动太大#xff08;或者不想在安装第三方MQ组件框架#xff09;的情况下可以用redis实现队列 。 二 redis实现队列 1 redis有序队列 使用red…一 使用场景 在一些场景项目已发布了一段时间了只是需要完善或优化一些功能要用到队列但不想改动太大或者不想在安装第三方MQ组件框架的情况下可以用redis实现队列 。 二 redis实现队列 1 redis有序队列 使用redis的list的数据类型轻松实现有序队列该队列每次存储时放在左边第1个从右边最后一个取出即先进去先出来该队列大多数场景都适用如果不知道使用什么队列好可以先尝试试用该队列。 /*** REDIS有序队列*/public void pushOrder(String json) {stringRedisTemplate.opsForList().leftPush(KEY, json);}/*** REDIS有序队列*/public String popOrder() {return stringRedisTemplate.opsForList().rightPop(KEY);} 假设分布式服务下的另外的springboot项目消费队列示例代码 Service public class RedisOrderProcess {private static final Logger logger LogManager.getLogger(RedisOrderProcess.class);AutowiredRedisServiceImpl redisService;PostConstructpublic void init() {int cpuCount Runtime.getRuntime().availableProcessors();System.out.println(start RedisOrderProcess cpuscpuCount);processOrderImport(cpuCount);}private void processOrderImport(int cpus) {ExecutorService executorService new ThreadPoolExecutor(cpus, 1000,60L, TimeUnit.SECONDS,new LinkedBlockingQueue Runnable());executorService.execute(() - {while (true) {String jsonnull;try{jsonredisService.popOrder();if(json!null){//订单业务处理代码}else{Thread.sleep(500);}}catch (Exception e){logger.error(err data \njson,e);e.printStackTrace();}}});}} 2 redis无序队列 使用redis的hash的数据类型轻松实现无序队列而且队列保存中的内容是唯一的往往用到的一些场景很特殊而且在某些场景运用比正规的队列组件还爽。 在使用springboot框架下轻松实现生产端 /*** 推送第三方设备状态** param id* param status*/public void pushStatus(String id, Integer status) {if(statusnull){return;}String value id : status;stringRedisTemplate.opsForSet().add(PUSH_STATUS, value);} 在使用springboot框架下轻松实现消费端 Service public class RedisStatusProcess {private static final Logger logger LogManager.getLogger(RedisStatusProcess.class);AutowiredStringRedisTemplate stringRedisTemplate;PostConstructpublic void init() {int cpuCount Runtime.getRuntime().availableProcessors();System.out.println(start RedisStatusProcess cpuscpuCount);processStatusImport(cpuCount);}private void procesStatusImport(int cpus) {ExecutorService executorService new ThreadPoolExecutor(cpus, 1000,60L, TimeUnit.SECONDS,new LinkedBlockingQueue Runnable());executorService.execute(() - {while (true) {String jsonnull;try{jsonstringRedisTemplate.opsForSet().pop(PUSH_STATUS)if(json!null){//状态业务处理代码}else{Thread.sleep(200);}}catch (Exception e){logger.error(err data \njson,e);e.printStackTrace();}}});}} 以上代码在我们的线上场景我们当前2000个设备每个设备每秒上传1个状态如果使用有序队列就要 1分钟时间就要处理2000*60个状态如果队列有延迟还意味着从队列获取的状态不是最新的而且没有消费时可能会撑破内存。而使用无序队列就不存在问题因为在队列中每个设备只允许一个状态如果未消费则直接用最新的状态覆盖拿出的基本都是最新的也不用一定要消费到每个队列状态。  安装与使用redis教程 - http://t.csdnimg.cn/1Ltzm
http://www.pierceye.com/news/214092/

相关文章:

  • 软件开发与网站开发的区别最新源码
  • 电子商务网站建设策划中国网站建设公司排行
  • 网站的推广方式组合经验丰富的网站制作公司
  • 北京企业网站建设php制作公司网站首页
  • 保险网站建设网站 为何要 备案
  • 南宁网站设计可以找我wordpress 主题
  • 池州家居网站建设怎么样h5链接是什么意思
  • 网站添加站长统计代码凡科建站登录入口官方正版
  • 淮北做网站的公司有哪些手机网站设计只选亿企邦
  • 网站服务器打不开爱站工具网
  • php网站接口开发wordpress添加作者
  • 网站建设漂亮的模板创新网站建设工作
  • 国内做服装的网站有哪些方面wordpress邮件订阅
  • 建立个人网站主题安徽省建设厅网站打不开
  • 做互联网小程序 和网站有没有前景广州网站制作教程
  • 新网网站内部优化wordpress菜单图标
  • 深圳市龙华区住房和建设局网站网站开发连接数据库
  • 做张家界旅游网站多少钱做网站的步骤 优帮云
  • 怎么建立一个好公司网站网站模版参考
  • 成都大型网站设计公司怎么快速建设小型外贸网站
  • 建设工程规范在哪个网站发布河南网络推广培训
  • 深圳宝安上市公司网站建设报价石家庄教育学会网站建设
  • 上海 专业网站建设网络推广公司收费标准
  • 网站建设维护的知识wordpress调用多张产品图片
  • 网站的静态资源服务器怎么做上海加盟网站建设
  • 网站数据库如何做小游戏网页版入口
  • 做php网站教程视频国产长尾关键词拘挖掘
  • 网站首页置顶是怎么做网站运营专员做什么
  • 福建嘉瑞建设工程有限公司网站wordpress密码字典
  • 网站开发答辩设计预期目标卓进网站