2012-05-29 70 views

回答

3

Memcached没有保存关于何时创建密钥的信息,因此除非您有某种客户端逻辑,否则不可能这样做。如果这对你很重要,那么你可以简单地将创建时间作为前缀添加到键的实际值(值=时间+数据)。然后,当您从memcached获取数据时,可以将该值分解为相应的数据。

+0

我非常喜欢分解数据的想法。 – Layke

1

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