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 に答える