有没有快速的方法来发现memcache上特定密钥的年龄?
答案 0 :(得分:4)
Memcached不会保留关于何时创建密钥的信息,因此除非您有某种客户端逻辑,否则无法执行此操作。如果这对您很重要,那么您只需将创建时间作为前缀添加到键的实际值(值=时间+数据)。然后,当您从memcached获取数据时,您可以将值拆分为相应的数据片段。
答案 1 :(得分:2)
OP,您是否指的是知道缓存条目的年龄?您可以存储最新更新的时间戳以及实际值:
from datetime import datetime
def put_value(key, value):
timestamp = datetime.utcnow()
entry = (timestamp, value)
memcache.add(key, entry)
def get_value(key):
entry = memcache.get(key)
if not value:
return None
_, value = entry
return value
def get_age(key):
entry = memcache.get(key)
if not value:
return None
timestamp, _ = entry
age = datetime.utcnow() - timestamp
return age