redis过期策略怎么设置-Redis
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 命令删除的键立即删除。
选择策略
定期删除策略适用于数据量大的场景,可以定期删除过期键,避免内存浪费。惰性删除策略适用于数据量较小或对性能要求较高的场景,可以减少服务器扫描和删除操作的开销。