Redis的缓存淘汰策略

  1. 查看Redis 最大的占用内存

打开redis配置文件, 设置maxmemory参数,maxmemory 是bytes字节类型, 注意转换

  1. Redis默认内存多少可以用

注意: 在64bit系统下, maxmemory 设置为 0 表示不限制Redis内存使用

  1. 一般生产上如何配置

一般推荐Redis 设置内存为最大物理内存的四分之三

  1. 如何修改redis 内存配置

4.1 配置文件修改

4.2 通过命令修改

  1. 什么命令查看redis内存使用情况

info memory

config get maxmemory

6.如果redis 内存满了超过设置的最大值会怎么样

没有过期时间的 key 将redis的内存用满,为了避免这种情况,则引出redis的内存淘汰策略

7.先说说Redis 的三种key过期删除策略

7.1 立即删除

key 过期立即删除,对cpu不够友好, 用处理器性能换取存储空间 (即空间换时间)

7.2 惰性删除

开启憜性淘汰,lazyfree-lazy-eviction=yes

访问key时候判断key是否过期,对内存不够友好,用存储空间换取性能 (即时间换空间)

7.3 定期删除

定期删除策略每隔一段时间执行一次删除过期键操作并通过限制删除操作执行时长和频率来减少删除操作对CPU时间的影响。

周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度
特点1:CPU性能占用设置有峰值,检测频度可自定义设置
特点2:内存压力不是很大,长期占用内存的冷数据会被持续清理
总结:周期性抽查存储空间 (随机抽查,重点抽查)

|------------------------------------------------------------------------------------------------------------------------------------------------|
| redis默认每隔100ms检查是否有过期的key,有过期key则删除。 注意:redis不是每隔100ms将所有的key检查一次而是随机抽取进行检查( 如果每隔100ms,全部key进行检查,redis直接进去ICU)。因此,如果只采用定期删除策略,会导致很多key到时间没有删除。 |

定期删除策略的难点是确定删除操作执行的时长和频率:如果删除操作执行得太频繁或者执行的时间太长,定期删除策略就会退化成立即删除策略,以至于将CPU时间过多地消耗在删除过期键上面。如果删除操作执行得太少,或者执行的时间太短,定期删除策略又会和惰性删除束略一样,出现浪费内存的情况。因此,如果采用定期删除策略的话,服务器必须根据情况,合理地设置删除操作的执行时长和执行频率。
如果定期删除是, 从来没有被抽到, 惰性删除也从来没有被点中使用过,也依然会有大量的过期key堆积在内存中,也会导致redis内存空间紧张或者很快耗尽

  1. redis 7 配置文件的内存淘汰策略
  1. lru 和 lfu 算法的区别是什么
  1. 细说8中淘汰策略
  1. 如何使用

不过在日常使用中避免bigkey 以及开启憜性淘汰,lazyfree-lazy-eviction=yes

相关推荐
zyseo84 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
xiaogai_gai6 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
数据工匠老o6 小时前
异构数据库DDL同步:260条链路的结构变更自动适配方案
数据库·架构
这个DBA有点耶7 小时前
银行业市占率最高的国产数据库是谁?先搞清楚“市占率”的四种口径
数据库·程序员·架构
用户6279947182628 小时前
南大通用GBase 8a之基于审计日志的冷温热数据分析
数据库
数据库小学妹8 小时前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
一个天蝎座的程序猿8 小时前
为了给报表提速,我把金仓KES的列存储折腾了个遍:聊聊KES的技术能力
数据库
飞越未来云城的霓虹飞猪8 小时前
AI 数据库地图:从 PostgreSQL 到向量数据库,一次看懂 AI 时代的数据底座
数据库
不像程序员的程序媛8 小时前
导出mysql数据结构
数据库·mysql
GlobalTradercrb8 小时前
独立站SEO先写博客还是先优化产品页?看站点阶段
数据库·人工智能·google·pdf·go·seo