问答

redis 遇到冷数据过多怎么办,怎么处理?

作者:admin 2021-06-10 我要评论

如何避免被击穿导致底层存储,比如 MySQL 等瞬间负载过高? 前提是,流量是从用户过来的,无法控制访问频次和访问中的数据。 ### https://www.cnblogs.com/xichj...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

如何避免被击穿导致底层存储,比如 MySQL 等瞬间负载过高?
前提是,流量是从用户过来的,无法控制访问频次和访问中的数据。

###

https://www.cnblogs.com/xichj... 参考这篇文章的缓存击穿部分

###

熔断,限流,降级

###

一般采用加锁,获得到锁的进程,才能进入更新逻辑,其它进程进入短暂等待后重新读取.

再优化一步. 缓存的内容中,保存一个过期时间,这个时间小于redis key 设置的过期时间即可,当程序发现过期后,就尝试去获得锁,的到锁的进程进入更新逻辑,没有获得锁的逻辑,直接返回返回已经获得的过期数据.

在或者,redis 中是不存也不设置过期时间的,由外部的计划任务来维护,这种方式一般都是更新频率比较低,但是生成数据又耗时缓存,这种方式就在于数据不会过期,就算是更新逻辑挂了,缓存都还在,可以有兜底数据.

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • redis 遇到冷数据过多怎么办,怎么处理

    redis 遇到冷数据过多怎么办,怎么处理

  • 为什么摩尔定律不适用于时间复杂度为O(

    为什么摩尔定律不适用于时间复杂度为O(

  • 修改 element-ui 源码 使用 patchpacka

    修改 element-ui 源码 使用 patchpacka

  • Gerrit 无法使用 Chrome 浏览器登录?

    Gerrit 无法使用 Chrome 浏览器登录?

腾讯云代理商
海外云服务器