📌【Redis学习笔记】过期策略

type
status
date
slug
summary
tags
category
icon
password
Blocked by
Blocking
AI summary

Redis过期策略总结

如何设置过期时间

设置过期时间
设置值同时设置过期
查看和取消过期时间

过期删除策略

1. 定期删除

  • Redis每隔100ms随机抽取一些设置了过期时间的key
  • 检查这些key是否过期,过期则删除
  • 默认每次检查占用CPU时间不超过25%

2. 惰性删除

  • 获取key时先检查是否过期
  • 过期则删除key并返回空
  • 节省CPU资源,但可能占用内存

3. 内存淘汰机制

当内存达到maxmemory限制时:
  • noeviction: 写入报错,不淘汰
  • allkeys-lru: 所有key中最久未使用的
  • volatile-lru: 有过期时间的key中最久未使用的
  • allkeys-random: 随机删除任意key
  • volatile-random: 随机删除有过期时间的key
  • volatile-ttl: 优先删除快过期的key
  • allkeys-lfu: 所有key中访问频率最低的
  • volatile-lfu: 有过期时间的key中访问频率最低的

使用建议

根据业务设置合适的过期时间
 
选择合适的淘汰策略
  • 缓存场景:使用 allkeys-lru
  • 会话管理:使用 volatile-lru
  • 访问频率敏感:使用 allkeys-lfu
 
Prev
mac VMware Fusion 虚拟机安装
Next
【Redis学习笔记】大key问题
Loading...
Article List