redis数据过期策略有两种:定期删除:定期扫描删除过期键,可通过 expired-time-cap-remove-count、expired-time-cap-remove-delay 参数设置。惰性删除:仅在读取或写入键时检查删除过期键,可通过 lazyfree-lazy-eviction、lazyfree-lazy-expire、lazyfree-lazy-user-del 参数设置。
Redis 过期策略设置
Redis 中的数据过期策略主要有两种:
- 定期删除 (cron):系统定期扫描所有键,并删除过期的键。
- 惰性删除:仅在读取或写入键时,才会检查并删除过期的键。
过期策略设置
1. 定期删除
CONFIG SET expired-time-cap-remove-count 100000 # 每次扫描删除的最大键数量 CONFIG SET expired-time-cap-remove-delay 5 # 删除操作的延迟时间(秒)
2. 惰性删除
CONFIG SET lazyfree-lazy-eviction true # 启用惰性删除 CONFIG SET lazyfree-lazy-expire false # 失效后立即开始删除操作 CONFIG SET lazyfree-lazy-user-del true # 通过 DEL 命令删除的键立即删除
参数说明
- expired-time-cap-remove-count: 每次扫描删除的最大键数量。
- expired-time-cap-remove-delay: 删除操作的延迟时间,以减少服务器负载。
- lazyfree-lazy-eviction: 启用惰性删除。
- lazyfree-lazy-expire: 失效后立即开始删除操作。
- lazyfree-lazy-user-del: 通过 DEL 命令删除的键立即删除。
选择策略
定期删除策略适用于数据量大的场景,可以定期删除过期键,避免内存浪费。惰性删除策略适用于数据量较小或对性能要求较高的场景,可以减少服务器扫描和删除操作的开销。
以上就是redis过期策略怎么设置的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com