当前位置: 首页 > news >正文

Redis缓存击穿、雪崩、穿透解决方案

Redis 缓存击穿、雪崩、穿透解决方案


1、首先看看逻辑方面是否还有优化空间,正常流程查询redis中获取不到数据,则去数据库获取,但数据库查询并返回时,调用异步方法,将该数据存储进redis中,并设置一个较短的过期时间,同时利用redis,对该条数据进行标记。如通过map存储热点数据,并记录近期访问次数。由定时任务定期检测新尝试的一批热点数据,当近期访问次数到达一定的阈值以后,将该数据正式标记为热点数据,则不在采用短期的过期时间,而是采用长期过期时间。对于多次认定为热点数据的也可以设置永不过期策略,等再多次没被认定为热点数据的时候再进行删除。该方法能很大程度上减少数据库压力,同时对热点数据与非热点数据很好的进行迭代。

2、根据业务需求合理搭配redis的过期删除策略和内存删除策略,保证过期的数据能够及时被清理

3、合理优化redis缓存热点数据策略能很大程度减少redis缓存压力,如redis负载依旧很大,则说明当前redis缓存以及到达项目吞吐量瓶颈,此时只能考虑搭建集群或者添加集群服务器来减缓缓存层面的压力

4、还可以叠加搭配布隆过滤器来做多重防御

5、当然,要是有准被时间的情况下,还是先对热点数据进行预热,提前加载到缓存中来的实在。

以上只是比较通用的解决思路,更多的还是要结合实际的业务场景和项目需求来进行优化处理
如果还有其它比较好的解决方案也欢迎评论留言,说出你的想法。

http://www.lryc.cn/news/475102.html

相关文章:

  • C++ 优先算法——盛最多水的容器(双指针)
  • blender 小车建模 建模 学习笔记
  • 导出列表数据到Excel并下载
  • 基于NVIDIA NIM平台实现盲人过马路的demo(一)
  • 美格智能5G车规级通信模组:以连接+算力驱动智能化进阶
  • [MRCTF2020]PYWebsite1
  • 无源元器件-磁珠选型参数总结
  • 宝顶白芽,慢生活的味觉盛宴
  • 已知三角形三边长求面积用仓颉语言作答
  • 【JavaScript】匿名函数及回调函数总结
  • HTML鼠标移动的波浪线动画——页面将会初始化一个Canvas元素,并使用JavaScript代码在Canvas上绘制响应鼠标移动的波浪线动画
  • 树莓派开发相关知识八-其他传感器
  • ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程
  • STM32G4 双ADC模式之常规同步模式独立注入模式
  • 深入理解网络协议:OSPF、VLAN、NAT与ACL详解
  • idea 配置tomcat 服务
  • .net core 接口,动态接收各类型请求的参数
  • 关注!这些型号SSD有Windows蓝屏问题需要修复
  • go语言gin框架平滑关闭——思悟项目技术2
  • K8S flannel网络模式对比
  • Vue前端框架:Vue前端项目文件目录
  • git回滚到指定的提交
  • 手机怎么玩森林之子?远程玩森林之子教程
  • 深度学习之网络与计算
  • 《JVM第1课》Java 跨平台原理
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30
  • 加强版 第五节图像处理与视频分析
  • Orleans8.2入门测试
  • 【Linux 25】网络套接字 socket 概念
  • python openai 通过Function Call 创建自动化任务