问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Redis内存配置和淘汰策略

发布网友 发布时间:2022-09-05 03:49

我来回答

1个回答

热心网友 时间:2024-05-06 02:57

1.在redis安装目录下找到redis.conf,打开找到如下行:

其中的maxmemory <bytes>即为最大内存配置项,默认是注释掉的会采用默认的最大内存大小:在64位操作系统下不*内存大小,在32位操作系统下最多使用3GB。

2.在客户端通过命令行查看

这里结果为0表示未手动指定过最大内存,采用默认的最大内存。

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

1.在配置文件redis.conf中指定maxmemory参数,例如,如果最大内存是200M,则在配置文件中添加 maxmemory 209751200 ;
2.通过命令 config set maxmemory 209751200 设置,注意,这里如果是通过命令行设置的最大内存大小,在配置文件redis.conf中并不会添加 maxmemory 209751200 这一行内容。

当Redis达到最大的可用内存时,再向其中存入数据则会报OOM,因此,要避免无*存入数据导致OOM,则需要采用合适的内存淘汰策略。

在讨论Redis的内存淘汰策略之前,我们要先对Redis中过期键的删除机制有个大体的了解;实际上,过期键的删除策略有三种,每种策略下过期键的删除时机均不同。
1.定时删除
所谓定时删除,就是在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即删除对键的删除操作。其能够对过期键进行立即删除,对内存是友好的,但是因为要维护定时器,对cpu是不友好的。
2.惰性删除
所谓惰性删除,就是放任过期键不管,但每次获取键时,都检查取得的键是否过期,如果过期的话,就删除该键。如果没有过期,就返回该键。惰性删除对cpu友好,但是由于其无法主动删除过期键,当过期键大量积聚时会占用很大内存,对内存不友好。
3.定期删除
所谓定期删除,是前两种删除策略的一种折中。会每隔一段时间执行一次删除过期键操作,并通过*操作执行的时长和频率来减少删除操作对cpu时间的影响。
定期删除会周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度,其特点为:
a)CPU占用设置有峰值,检测频度可自定义设置。
b)内存压力有限,长期占用内存的冷数据会被持续清理。
总结下来,定期删除会周期性抽查存储空间(随机抽查、重点抽查)。
定期删除的难点在于如何确定产出操作执行的时长和频率,如果删除操作执行的太过频繁,或者执行的时间太长,定期删除策略就会退化成定时删除策略,以至于将CPU时间过多的消耗在删除键上面。如果删除操作执行的太少,或者执行的时间太短,定期删除策略又会和惰性删除策略一样,出现内存浪费的情况。因此,必须合理的设置定期删除策略的执行时长和执行频率。
定期删除在一定程度上是一种合理有效的过期键删除策略,但是由于其在执行时长和执行频度的局限性,必须要有另一种机制(策略)确保内存能够获得回收,因此,就需要引入内存淘汰策略。

在redis.conf中指出内存淘汰策略有有以下八种:
1.volatile-lru:从已设置过期时间的key中挑选最近最少使用的数据淘汰;
2.allkeys-lru:从全部key中挑选最近最少使用的数据淘汰;
3.volatile-lfu:从已设置过期时间的key中挑选使用频率最低的数据淘汰;
4.allkeys-lfu:从全部key中挑选使用频率最低的数据淘汰;
5.volatile-random:从已设置过期时间的key中任意选择数据淘汰;
6.allkeys-random:从全部key中任意选择数据淘汰
7.volatile-ttl:从已设置过期时间的key中挑选将要过期的数据淘汰;
8.no-enviction:禁止驱逐数据,这也是默认策略。当内存不足以容纳新入数据时,新写入操作就会报错。

内存淘汰策略的设置与查看

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 早的反义词词语? 有人借钱到时间还了没有还怎么办 哈利波特中麻爪是什么意思 什么样的人被称为麻瓜 哈利·波特电影中把不懂魔法的人叫做什么 1.5匹志高空调开几分钟就不制冷了 五星级宾馆和一星级宾馆哪个好些 酒店的星级是越高越好还是越低越好? a罩杯多少厘米,什么样的罩杯好? 急求各位大师帮忙鉴定一下赵秉冲这幅画?感谢 农心辛拉面韩国原版跟中国产的味道一样吗?差别大不大啊! H&X移动空调质量怎样,有人买过吗? AIUIX品牌节能吗 为什么有的手机号码搜索不到? 为什么通过手机号查找不到 参考资料 - 面试时如何进行自我介绍? 手机号搜不到怎么办 梦见一大一小两只羊来到我的院中较大者用角划份我女儿脖子,较小者呆... 为什么我的微信绑定了手机号,输入手机号码却搜索不到? ...和DVI(数字)两种接口,但VGA的接口用不了,为什么会这样? 枣庄供电公司电话客服人工服务 市中区供电服务热线 ...黄色 什么意思 还有如何能保存好通讯录不要就 苹果发信息显示的联系人号码颜色不同什么意思,有蓝色有绿色有灰色 怎样在电视装樱花动漫 2019年湖南中医药大学教务网络管理系统入口 婚礼姐妹团需要准备礼物吗? 第36届大众电影百花奖在哪看 除了《你好,李焕英》之外,你觉得还有哪些值得票价的电影? 荣耀8A手机OTG传歌的方法 oppofindx3和k10哪个好? 帽子没有水洗标如何处罚 求鉴定.买的帽子没吊牌能鉴定吗 山楂有哪些功效和食疗方法? 牛肉茄子盖浇饭怎么做好吃 为什么我的拯救者笔记本玩英雄联盟会弹出这个东东? 重新安装了也不能... 问一下大神。为什么我的拯救者笔记本玩不了英雄联盟,显卡没问题 重装了... 英雄联盟 问大神 我是联想拯救者笔记本这样的配置可以吗 新的电脑玩... 换刹车油大概多长时间 什么是f(x)的导数?