美文网首页
redis访问优化

redis访问优化

作者: 和平菌 | 来源:发表于2019-06-13 15:12 被阅读0次

一、
使用redis进行去重的时候用到了setnx
原先的写法是

setnx = redisDao.setnx(key, "1") == 1;
if (setnx){
    redisDao.expire(key, timeOut);
}

那么一条去重的数据会访问2次redis

修改为

String v = redisDao.set(key, "1", "NX", "EX", timeOut);
setnx = "OK".equals(v);

一次请求即可满足

二、按天去重key过期雪崩的问题
使用redis按天去重的时候,有个问题就是自然天跨天的时候,所有key会集中过期,会消耗大量资源

修改为 日期(yyyyMMdd)+key的形式,过期时间修改为24点后+10分钟 然后随机延迟1到10分钟,这样可以保证key分批过期

private static final DateTimeFormatter formater = DateTimeFormatter.ofPattern("yyyyMMdd");
private String date = LocalDateTime.now().format(formater);
private long lastUpdateDateMills = 0;
private static final long UPDATE_INTERVAL = 60 * 1000;


long  currentTimeMillis = System.currentTimeMillis();
if(currentTimeMillis - lastUpdateDateMills > UPDATE_INTERVAL){
      date = LocalDateTime.now().format(formater);
      lastUpdateDateMills = currentTimeMillis;
}





DateUtil.getTodayLastSeconds() + ( 10 + ran.nextInt(10) ) * 60

相关文章

  • redis访问优化

    一、使用redis进行去重的时候用到了setnx原先的写法是 那么一条去重的数据会访问2次redis 修改为 一次...

  • 2019-03-11 接口优化

    三个优化点:1.Redis预减库存减少数据库访问2.内存标记减少Redis访问3.请求先入队缓冲,异步下单,增强用...

  • 记一次redis性能优化

    前沿 最近工作中在优化redis访问性能,这里总结一下优化过程中redis使用方法的一些心得体会,以及在sprin...

  • Redis未授权访问

    redis未授权访问详解redis 未授权访问利用redis 未授权redis 未授权2centos安装redis...

  • redis汇总

    redis优化 redis 操作相关 安装Redis redis常用命令

  • Redis初步(Windows)

    目录:一、Redis服务器二、Redis-cli访问三、Python-Redis访问 Linux版本下载地址:ht...

  • 给Redis设置访问密码

    给Redis设置访问密码 标签(空格分隔): redis 给Redis设置访问密码 设置你的密码 查看你设置的密码...

  • 2019-08-06redis未授权访问漏洞 复现利用

    redis未授权访问漏洞 1. redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:637...

  • 高并发解决方案

    1、页面缓存 2、URL缓存 3、对象缓存 4、页面静态化 5、接口优化 redis预减库存减少数据库访问系统初始...

  • Redis 的并发竞争问题如何解决

    Redis 为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis 本身没有锁的概念,Redis 对于...

网友评论

      本文标题:redis访问优化

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