redis基础06-redis热点数据处理
热点数据是什么?
热点数据是说多次访问或者多次被使用到的数据。这类数据访问频率比较高,如果直接访问数据库,数据库频繁链接,I/O数据流及连接造成负担,如果访问量比较大的情况很容易出现数据库或服务器崩溃。
还有另一种情况,热点数据所在redis集群中,当某一个redis服务访问过于集中访问某个热点key,而其他key无法访问,也会造成redis服务器宕机异常。
如何识别热点数据:
- 1.在产品分析时进行预测,在代码开发中进行缓存处理
- 2.收集用户行为日志,及访问数据日志信息。进行分析热点数据
- 3.对于存储在redis中的数据,进行访问排序定位缓存中的热点数据
利用redis4.x自身特性,LFU机制发现热点数据。
1.只要把redis内存淘汰机制设置为allkeys-lfu或者volatile-lfu方式
2.执行./redis-cli --hotkeys会返回访问频率高的key,并从高到底的排序
热点数据如何处理
1.redis进行缓存
主要有两点:
- 热点数据尽量不要设置过期时间
- 热点数据更新,使用互斥锁,避免死锁及资源耗费过多问题
2.多级缓存
- 除了redis缓存,可以增加本地缓存
3.热点散列
- 将每个redis实例的内存空间分成普通区域+hot zone区域
参考博客:https://blog.csdn.net/xindoo/article/details/126802164
https://blog.51cto.com/liaozhiweiblog/5299145
https://blog.csdn.net/w6869012/article/details/126523926
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏