Redis 提供了多种数据过期策略,可以在设置键值对时指定。以下是 Redis 支持的过期策略:
noeviction(默认):当内存不足以容纳新写入数据时,新写入操作会报错。不会删除任何旧数据。
allkeys-lru:当内存不足以容纳新写入数据时,从所有键中使用 LRU(Least Recently Used,最近最少使用)算法进行淘汰。
volatile-lru:当内存不足以容纳新写入数据时,从已设置过期时间的键中使用 LRU 算法进行淘汰。
allkeys-random:当内存不足以容纳新写入数据时,从所有键中随机淘汰数据。
volatile-random:当内存不足以容纳新写入数据时,从已设置过期时间的键中随机淘汰数据。
volatile-ttl:当内存不足以容纳新写入数据时,从已设置过期时间的键中选择剩余生存时间(TTL)最短的键进行淘汰。
要设置过期策略,可以使用 Redis 配置文件 redis.conf 中的 maxmemory-policy 配置项。例如,要将过期策略设置为 allkeys-lru,可以在 redis.conf 文件中添加以下行:
maxmemory-policy allkeys-lru
此外,还可以在设置键值对时使用 EXPIRE 命令为键设置过期时间。例如,要为键 mykey 设置过期时间为 60 秒,可以执行以下命令:
EXPIRE mykey 60
或者,可以在设置键值对时直接指定过期时间,例如:
SET mykey "Hello, Redis!" EX 60
这将创建一个值为 “Hello, Redis!” 的键,并设置其过期时间为 60 秒。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。