缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
一直都在57219 小时前
Redis(二)
数据库·redis·缓存
Zaki_gd1 天前
Cortex-M7 D-Cache 与 DMA 缓存一致性说明
java·spring·缓存
keyborad pianist1 天前
一篇文章学会Redis
数据库·redis·缓存
XDHCOM1 天前
TP5框架Redis分布式缓存实战,解决高并发场景下的数据一致性问题
redis·分布式·缓存
手握风云-1 天前
Redis:不只是缓存那么简单(一)
redis·缓存
XDHCOM1 天前
Redis本地化实现策略与应用问题解析,如何配置Redis本地化,常见问题解决
数据库·redis·缓存
Noushiki1 天前
缓存穿透、缓存击穿、缓存雪崩的概念以及解决方案
缓存
程序猿编码1 天前
网络数据包环形缓存捕获技术:原理、设计与实现(C/C++代码实现)
linux·c语言·网络·tcp/ip·缓存
FL4m3Y4n2 天前
MySQL缓存策略
数据库·mysql·缓存
野犬寒鸦2 天前
Redis复习记录day1
服务器·开发语言·数据库·redis·缓存