主题
过期机制
Memcached 通过设置过期时间(TTL,Time To Live)来管理缓存数据的生命周期,确保缓存中的数据不会无限制地占用内存。
过期时间设置
在存储数据时,可以指定一个过期时间,单位为秒:
0
表示数据永不过期,除非被主动删除或被淘汰。- 大于 30 天(2592000 秒)的值被当作 Unix 时间戳处理,即绝对时间点。
例如:
bash
set key 0 3600 5
value
表示该数据在 3600 秒后过期。
过期机制原理
Memcached 采用惰性过期策略,即只有当数据被访问时,才检查是否过期:
- 如果访问到的数据已过期,则被视为不存在,客户端无法读取。
- 过期数据会在后续存储操作中被新数据覆盖,或者被内存淘汰机制清理。
这种机制保证了系统性能,避免频繁扫描过期数据。
小结
合理设置过期时间,可以控制缓存大小,保证数据新鲜度,同时避免内存浪费。