2012-05-29 69 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