我想解决在我的 Amazon ElastiCache for Memcached 集群中的密钥到期时 CurrItems 指标不会减少的问题。
简短描述
CurrItems 指标表示当前存储在缓存中的项目数量。当密钥到期时,ElastiCache for Memcached 集群中的 CurrItems 指标不降低是正常的。在 ElastiCache for Memcached 中,您可以指定生存时间 (TTL),以确定密钥在到期前在缓存中保留多长时间。密钥在 TTL 到期后无法进行检索。
解决方法
ElastiCache for Memcached 不会在 TTL 到期时立即移除密钥。当用户尝试访问过期的密钥时,Memcached 会检查该密钥。然后,它识别出密钥已过期,并将密钥从内存中移除。此外,如果相应的 slab 类中没有剩余的可用空间或空闲页面,则 Memcached 会移除过期或最近最少使用的密钥。从内存中移除密钥后,CurrItems 指标会降低。
或者,lru_crawler 线程是从内存中移除过期密钥的后台线程。Lru_crawler 是一项保守的任务,对过期密钥的操作有限。要使用 lru_crawler 线程,请通过参数组将其打开。CurrItems 指标和密钥空间内存可能需要一段时间才能显示使用率下降。
**注意:**通过参数组管理的 ElastiCache for Memcached 集群不适用于 Amazon ElastiCache 无服务器。