美文网首页
Redis 使用redis队列优化系统问题

Redis 使用redis队列优化系统问题

作者: 爱吃赵一鸣 | 来源:发表于2019-04-09 09:09 被阅读0次

对于实时性要求不高的业务,如操作日志,业务跟进等,可以采用先把数据存到缓存,当达到一定数量时批量插入的方案。这样减少与存储服务的交互,提高系统性能。

在实际使用过程中发现存在线程安全问题,这里采用redis列表实现该方案,规避线程安全,并且适用于分布式环境中使用。

redis列表官方只提供了单个加入单个取出的功能,所以需要自己包装下取出多个的功能,采用lrange+ltrim实现取出多个

--下面是业务实现

String redislogkey = "logqueue";

RedisHolder.getRedisClient().inQueue(redislogkey, infolog, InfoOperationLog.class); //首先加入列表

Long length = RedisHolder.getRedisClient().lenQueue(redislogkey);

if(length>20){

List<A> loglist =  RedisHolder.getRedisClient().outQueue(redislogkey, 30, A.class);//判断长度 一次性取出30 防止这段时间里有插入记录

--业务代码--将数据存到响应的存储业务

}

相关文章

  • Redis 使用redis队列优化系统问题

    对于实时性要求不高的业务,如操作日志,业务跟进等,可以采用先把数据存到缓存,当达到一定数量时批量插入的方案。这样减...

  • 使用JVM提高秒杀系统性能

    前提 使用redis分布式锁,解决秒杀系统库存为零 继续扣减问题 redis分布式锁出现的问题 使用redis锁,...

  • Redis 怎么做消息队列?

    结论是:不要使用redis去做消息队列,这不是redis的设计目标。 但实在太多人使用redis去做去消息队列,r...

  • redis 异步和延时消息队列

    redis 异步消息队列Redis 的 list(列表) 数据结构常用来作为异步消息队列使用,使用rpush/l...

  • 用Redis做一个消息队列

    PHP文件使用redis调用方法,操作入队列,守护进程文件中,使用redis方法操作出队列,然后执行业务逻辑 守护...

  • 【Redis 笔记】(2)Redis中的数据结构

    接着上一篇文章Redis 系统学习(1)redis实现消息队列的内容,继续深入学习redis redis中的五种数...

  • redis 集群搭建

    Redis集群 使用redis做缓存工具 实现系统高可用,redis需要做主备。使用redis做分片集群。 向业务...

  • Redis应用-布隆过滤器

    系列文章Redis应用-分布式锁Redis应用-异步消息队列与延时队列Redis应用-位图Redis应用-Hype...

  • Redis应用-Geo

    系列文章Redis应用-分布式锁Redis应用-异步消息队列与延时队列Redis应用-位图Redis应用-Hype...

  • redis配置文件

    redis配置优化 整合springCache的文章 redis配置 Redis数据库索引(缓存将使用此索引编号的...

网友评论

      本文标题:Redis 使用redis队列优化系统问题

      本文链接:https://www.haomeiwen.com/subject/hciyiqtx.html