redis延时双删 原因,redis延时双删和异步更新比较

redis延时双删 原因,redis延时双删和异步更新比较,redis缓存一致性延时双删代码实现方式

这篇文章主要介绍了雷迪斯缓存一致性延时双删代码实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录

redis缓存一致性延时双删代码1、自定义注解2、刪除逻辑雷迪斯缓存延迟双删问题

redis缓存一致性延时双删代码

不废话、如下

1、自定义注解

/**

* @作者曹越

*延时双删

**/

@保留(保留政策.运行时间)

@已记录

@Target(ElementType .方法)

public @interface ClearCache {

布尔开()默认为真实的

}

2、刪除逻辑

/**

* @作者曹越

*/

@组件

@Aspect

@Slf4j

公共类DoubleClearCacheAop {

@自动连线

私有用户服务用户服务;

//声明一个用于延时的定时线程池代替线程睡眠

ScheduledExecutorService task=new ScheduledThreadPoolExecutor(10,new BasicThreadFactory .

构建器()。命名模式(“清除高速缓存-调度-池-% d”).build());

@ Pointcut(' @ annotation(com。浪潮。河南。UAC。模块。打开。util。清除缓存)')

私有void clearCachePoint() {

}

@Around('clearCachePoint()')

公共对象clearcache AOP(进程连接点收益)抛出可投掷的

方法方法=((方法签名)进程。获取签名().get方法();

清除缓存注释=方法。获取注释(清除缓存。类);

对象进行=空

//如果清除注解开启了

if (annotation.open()) {

//上下文获取信息

IPubUser user=msysecuritycontextholder。getuser();

if (Objects.nonNull(user)) {

//执行清除缓存的动作

用户服务. clearCache(用户);

//业务处理

收益=收益。proceed();

//延时两秒后再删

task.schedule(() - {

用户服务. clearCache(用户);

if (log.isInfoEnabled()) {

log.info(Thread.currentThread().getName()':双重删除缓存完成');

}

}、2L、时间单位。秒);

}否则{

收益=收益。proceed();

}

}

返回继续进行;

}

}

redis缓存延迟双删问题

高并发场景使用雷迪斯作为缓存存储数据,当数据更新时,如何保证缓存一致性,

延迟双删的策略:

先删除缓存,然后更新数据库数据,休眠睡觉,最后再次删除缓存数据。

休眠的时间略微大于从数据库查询数据的时间。

当读写分离时,考虑到主从数据同步延迟,休眠时间约1s。

休眠时间不能太大,否则会影响更新的速度。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: