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

Redis内存满了会怎么样?

发布网友 发布时间:2022-11-17 05:42

我来回答

1个回答

热心网友 时间:2024-04-23 04:47

1、通过配置文件配置

通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小

redis的配置文件不一定使用的是安装目录下面的redis.conf文件,启动redis服务的时候是可以传一个参数指定redis的配置文件的

2、通过命令修改

Redis支持运行时通过命令动态修改内存大小

既然可以设置Redis最大占用内存大小,那么配置的内存就有用完的时候。那在内存用完的时候,还继续往Redis里面添加数据不就没内存可用了吗?

实际上Redis定义了几种策略用来处理这种情况:

当使用volatile-lru、volatile-random、volatile-ttl这三种策略时,如果没有key可以被淘汰,则和noeviction一样返回错误

获取当前内存淘汰策略:

通过配置文件设置淘汰策略(修改redis.conf文件):

通过命令修改淘汰策略:

近似LRU算法

Redis使用的是近似LRU算法,它跟常规的LRU算法还不太一样。近似LRU算法通过随机采样法淘汰数据,每次随机出5(默认)个key,从里面淘汰掉最近最少使用的key。

可以通过maxmemory-samples参数修改采样数量:

例:maxmemory-samples 10

maxmenory-samples配置的越大,淘汰的结果越接近于严格的LRU算法

Redis为了实现近似LRU算法,给每个key增加了一个额外增加了一个24bit的字段,用来存储该key最后一次被访问的时间。

Redis3.0对近似LRU的优化

Redis3.0对近似LRU算法进行了一些优化。新算法会维护一个候选池(大小为16),池中的数据根据访问时间进行排序,第一次随机选取的key都会放入池中,随后每次随机选取的key只有在访问时间小于池中最小的时间才会放入池中,直到候选池被放满。当放满后,如果有新的key需要放入,则将池中最后访问时间最大(最近被访问)的移除。

当需要淘汰的时候,则直接从池中选取最近访问时间最小(最久没被访问)的key淘汰掉就行。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想E盘不见了怎么办? 电脑e盘不见了怎么恢复?6个步骤找回e盘 五一去河源万绿湖游玩,需要携带哪些物品? 五一假期,旅行必带的物品是什么 建行办新卡用了新手机号,旧卡就自动绑了信号 请问电磁炉热敏电阻阻值是多少 电磁炉换电阻多少钱 电磁炉配件电阻多少钱 电磁炉510K大电阻多少钱一个 更换电磁炉电阻多少钱 redis的内存回收策略 游漫谈:电子游戏,从头细看——因“游戏梦”而聚集的白金工作室 这部漫画叫什么名字... 解梦——我梦到好多的月饼 老曼峨白茶和福鼎白茶的区别 柳州什么地方卖烧饼 原北京丰台区西马场小区附近卖烧饼的一家子现在听说去天津了,在天津哪... 武汉大学城附近有没有卖烧饼的 紊流的方程式组 什么是boussinesq假设? 通州九棵树附近有卖烧饼的吗? 求图片里包包的牌子 魔兽世界里包包怎么一起打开 智多星扫地机的售后服务电话号码 福州智多星启能康复客服电话是多少? 斗破苍穹续 目录 2新世界 3玄幻异阵 4走出神秘沙漠 这是谁写的 1620是谁写的 蔡枫华的《新世界》 歌词 有钱人是怎么挣钱的? 长安CS75的操控非常稳健,而通过性和脱困性更强! 淘手游短信警告真的假的 淘手游短信警告有用吗 杨丽萍宫殿被查,内部不堪入目,群众拍手叫好,这里发生了什么? 杨丽萍豪宅被拆原因 指甲太长吃饭都要人喂 switch连接索尼电视黑屏怎么处理? 有机蔬菜的栽培管理技巧 有机蔬菜种植技术 关于有机蔬菜种植技术 宝贝详情页设置 小学班主任对一年级学生评语 寒潮的作文 人到底能耐受多高的温度呢? 人可以忍受多少度高温(人能承受多高的温度) 宝宝用手打自己的头,是因为觉得好玩吗?还有没有其他原因? 一岁多的孩子老是生病,是抵抗力弱导致的吗? 启蒙教育都有哪些内容? 孩子的启蒙教育需要教给他什么? 儿童肥胖的危害 十二直肠溃疡有什么症状。 直肠溃疡是怎么引起的 大唐凤凰府怎么样?好不好?值不值得买?