Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从查询生成Memcache密钥_Python_Memcached - Fatal编程技术网

Python 从查询生成Memcache密钥

Python 从查询生成Memcache密钥,python,memcached,Python,Memcached,我正在memcache中缓存select查询和值。我只使用简单的单表查询。我厌倦了将查询本身用作键,但由于特殊的字符和各种其他原因,我真的不能这样做。无论如何,是否可以从查询中生成一个不带任何碰撞的唯一键,并将其用作memcache的键。我们通过散列查询来创建缓存键。看来效果不错 如果您直接尝试使用查询作为键,它将无法工作,因为它可能包含特殊字符。因此,我们可以使用散列算法对查询进行散列,并将结果用作密钥。这对于每个不同的查询都是唯一的 import hashlib query = "" #yo

我正在memcache中缓存select查询和值。我只使用简单的单表查询。我厌倦了将查询本身用作键,但由于特殊的字符和各种其他原因,我真的不能这样做。无论如何,是否可以从查询中生成一个不带任何碰撞的唯一键,并将其用作memcache的键。

我们通过散列查询来创建缓存键。看来效果不错

如果您直接尝试使用查询作为键,它将无法工作,因为它可能包含特殊字符。因此,我们可以使用散列算法对查询进行散列,并将结果用作密钥。这对于每个不同的查询都是唯一的

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

注意:调用.Lead()方法是为了考虑不同情况下的查询相同。

< P>我们通过对查询进行哈希来创建缓存密钥。看来效果不错

如果您直接尝试使用查询作为键,它将无法工作,因为它可能包含特殊字符。因此,我们可以使用散列算法对查询进行散列,并将结果用作密钥。这对于每个不同的查询都是唯一的

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

注意:调用.Lead()方法是为了考虑不同情况下的查询相同。

工作很有魅力。谢谢你,这工作很有魅力。非常感谢。