码迷,mamicode.com
首页 > 其他好文 > 详细

Redis-Sp:刷新缓存策略

时间:2020-04-08 11:47:51      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:逻辑   根据   define   sid   而且   key   targe   刷新   blank   

ylbtech-Redis-Sp:刷新缓存策略

 

1.返回顶部
1、

缓存和数据库更新策略对比
1. 先删除缓存、再更新数据库
在高并发下表现不如意在原子性被破坏时表现优异
2. 先更新数据库,再删除缓存(Cache Aside Pattern设计模式))
在高并发下表现优异,在原子性被破坏时表现不如意
方案1
[主动]后台点击更新缓存按钮,从DB查找最新数据集合,删除原缓存数据,存储新数据到缓存;
问题
更新过程中删除掉缓存后刚好有业务在查询,那么这个时候返回的数据会是空,会影响用户体验
方案2
[被动]前台获取数据时发现没有缓存数据就会去数据库同步数据到缓存
问题
当并发请求获取缓存数据不存在的时候,就会产生并发的查询数据的操作。
方案3
[主动]后台点击更新缓存按钮,从DB查找最新数据集合,这里不删除缓存,通过遍历数据覆盖和删除掉无效的数据
问题
逻辑相对麻烦,而且更新机制无法通用;
方案4
[主动][预加载]前台获取缓存的时候需要先得到缓存数据对应的Redis Key(简称:[ShowingKey]),然后根据[ShowingKey]去读取缓存数据(简称:[缓存];
[ShowingKey](可以是最近一次更新缓存的时间戳或者根据自己规则自定义)
[缓存](需要缓存的数据,如:DB数据等)

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
技术图片 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Redis-Sp:刷新缓存策略

标签:逻辑   根据   define   sid   而且   key   targe   刷新   blank   

原文地址:https://www.cnblogs.com/storebook/p/12658633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!