1

有没有一种快速的方法来发现 memcache 上特定键的年龄?

4

2 回答 2

5

Memcached 不会保留有关何时创建密钥的信息,因此除非您有某种客户端逻辑,否则无法执行此操作。如果这对您很重要,那么您可以简单地将创建时间作为前缀添加到键的实际值(值 = 时间 + 数据)。然后,当您从 memcached 获取数据时,您可以将值拆分为相应的数据片段。

于 2012-05-29T04:00:10.273 回答
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
于 2017-01-19T17:45:55.623 回答