快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → redis缓存更新策略

redis缓存更新策略

时间:2022-10-07 11:40:56人气:作者:快盘下载我要评论

redis中缓存一般存在三种更新策略;内存淘汰;超时剔除;主动更新。它们照片那个各有优缺点。

redis缓存更新策略

 其中主动更新最为复杂。它又有三种策略;

 Cache Aside ;同时更新缓存和数据库;

 Read/Write Through;先更新缓存;缓存负责同步更新数据库;

 Write Behind Caching;先更新缓存;缓存定时异步更新数据库。这三种模式各有优劣;可以根据业务场景选择使用。

        第一种是通过调用者手动添加代码调用;第二种只需调用;其内部自动完成更新维护;但是成本较高。第三种只操作缓存;由其他线程异步更新缓存;效率较高。但是成本高;难以保证缓存的一致性。基于上述原因;常见使用的方案是第一种;Cache Aside Pattern;。

       

         操作缓存数据库是有三种问题需要考虑

redis缓存更新策略

 对于缓存和数据库先操作哪个的问题;由于线程问题。

        若先删除缓存;再更新数据库。当一个线程删除了缓存;还未更新数据库时;有另一个线程进来访问缓存发现不存在;此时去数据库进行查询;而数据库还未及时更新;所以查询的数据是旧数据。就发生了数据缓存不一致的问题;出现脏读现象。 

        若先更新数据库;再删除缓存。缓存刚好到期失效时;读请求从数据库中读取数据;写请求更新完数据后再失效缓存后;读请求将旧数据存入到缓存中;这种情况也会导致脏数据的问题。实际上这种情况发生的概率很低;要发生这种情况的前提条件是写数据库要先于读数据库完成;一般而言读数据库相比于写数据库要耗时更短;这种前提条件成立的概率很低。且针对这种情况;一般可以采用异步双删策略以及过期失效的方式来避免。

所以在实际开发中;一般选择先更新数据库;再删除缓存的策略。

        总结;

redis缓存更新策略

 

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。