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