缓存更新策略

redis的缓存更新策略:

  • 先删除缓存,在更新数据库,缺点:当线程1进行一个更新的操作,先进行缓存删除,在修改数据库,但是修改数据库之前,线程2 进行查询缓存的操作,未命中,查找数据库,写入缓存,线程1修改完成后,但是此时缓存中的数据还是旧数据,会出现数据不一致问题,只有等这个缓存过期,下次查询时,才会获取正确的信息.
  • 先操作数据库,在删除缓存,这个方法显然比上一个更优

缓存更新策略的最佳实践方案:

1,低一致性需求:使用Redis自带的内存淘汰机制

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
我星期八休息2 小时前
Redis 的原理和使用(2)
前端·数据库·redis·python·mysql·缓存·bootstrap
Chenyu_3101 天前
DPDK、TC 和 XDP:Linux 高性能网络到底在优化什么
linux·服务器·网络·缓存
hflmwl82 天前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
一枕槐安4872 天前
大模型应用后端设计:上下文管理、缓存、降级策略的工程方案总结
java·spring·缓存
梦想平凡2 天前
棋牌游戏技术实战(十三):缓存对局历史时控制容量,命中以后仍然检查成员权限
游戏·缓存
我不会起名字3222 天前
Redis 从 0 到 1(十一):缓存穿透/击穿/雪崩三连击,Go 3 套防御代码
redis·缓存·go·布隆过滤器·雪崩
Chenyu_3102 天前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
土豆.exe3 天前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
hweiyu003 天前
Redis命令:LMOVE
redis·缓存
黎相思3 天前
LRU Cache
c++·缓存