redis 中的键值淘汰策略

马谦马谦马谦 Redis评论407字数 391阅读 1 分 18 秒阅读模式

当使用的内存到达上限后,redis 提供了 6 种策略来淘汰键值:

策略 描述
volatile-lru 在所有设置了过期时间的键值中根据 LRU 算法淘汰最近最少使用的
allkeys-lru 对数据库中所有元素根据 LRU 算法淘汰最近最少使用的
volatile-random 从设置了过期时间的元素中随机淘汰
allkeys->random 数据库所有元素中随机淘汰
volatile-ttl 从设置了过期时间的键值中淘汰快要超时的
noeviction 不淘汰任何已有键值,直接给写操作返回错误

LRU 是最近最少使用的,直译出来就是最久没有使用的。

redis 默认的淘汰策略是 volatile-lru,修改淘汰策略可以通过修改 redis.conf 文件中的 maxmemory-policy 字段,配置中关于各种淘汰策略也有详细的解释。使用 grep volatile-lru redis.conf -A 6 -n 可以过滤出这部分配置 :

redis中的键值淘汰策略

 
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2020 年 2 月 17 日 20:04:58
  • 转载请务必保留本文链接:https://www.dyxmq.cn/databases/redis/maxmemory-policy-in-redis.html
redis中的AOF持久化和RDB持久化 Redis

redis 中的 AOF 持久化和 RDB 持久化

一、 AOF 持久化 1.1 实现机制 AOF(Append Only File) 是 redis 持久化方式的一种,它通过把所有 redis 执行过的命令都写入到文件来维持持久化。一旦服务崩溃,则可以重放这些命令...
redis源码分析:链表实现 Redis

redis 源码分析:链表实现

一、链表定义 链表在 redis 中的使用十分广泛,例如列表的底层实现之一就是链表,包括发布、订阅等等功能都是有用到链表的。 redis 中链表在 adlist.h 和 adlist.c 中实现,只用了 300+行代码...
redis中的发布和订阅 Redis

redis 中的发布和订阅

一、发布和订阅 除了任务队列以外,redis 还有一种基于 「发布/订阅」 模式的消息传递,使得客户端可以订阅某个频道,当频道有消息产生时,会把消息传递到所有的订阅者。和列表不一样的是,发布和订阅可以是一对...
Redis小案例(二):redis实现消息队列 Redis

Redis 小案例 (二):redis 实现消息队列

一、任务队列概述 消息队列,顾名思义就是一个用来传递任务的队列。消息队列在开发中十分常见,经常用在页面后台处理需要很长时间的操作时,例如发送邮件、短信以及进行复杂数据运算操作等,这些操作通常会阻塞页面...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证