1

選択クエリと値を memcache 内にキャッシュしています。単純な単一テーブル クエリのみを使用しています。クエリ自体をキーにするのは疲れましたが、特殊文字やその他の理由で本当にできませんでした。とにかく、衝突なしで一意のキーへのクエリからキーを生成し、それをmemcacheのキーとして使用することはありますか?

4

1 に答える 1

4

クエリをハッシュしてキャッシュ キーを作成します。かなりうまくいくようです。

クエリをキーとして直接使用しようとすると、特殊文字が含まれている可能性があるため機能しません。したがって、ハッシュ アルゴリズムを使用してクエリをハッシュし、結果をキーとして使用できます。これは、個別のクエリごとに一意になります。

import hashlib
query = "" #your query here
cache_key = str(int(hashlib.md5(query.lower()).hexdigest(), 16))

注: .lower() メソッドは、異なるケースのクエリを同じものと見なすために呼び出されています。

于 2013-05-05T05:31:34.927 に答える