python - 从查询中生成 Memcache 键

标签 python memcached

我正在缓存选择查询和内存缓存中的值。我只使用简单的单表查询。我厌倦了使用查询本身作为键,但由于特殊字符和其他各种原因真的不能。无论如何,是否可以在没有任何冲突的情况下从查询中生成一个唯一键的键,并将其用作内存缓存的键。

最佳答案

我们通过对查询进行哈希处理来创建缓存键。看起来效果不错。

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

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

注意:调用 .lower() 方法是为了将不同情况下的查询视为相同。

关于python - 从查询中生成 Memcache 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381535/

相关文章:

python - 使 Python RegEx 使用变量作为字符串表达式

Python - Tkinter(ttk)动态创建一个进度条,其自身的值会发生变化

python - __exit__ 的返回值

python - 如何为具有许多不同查询变量的 Python Web 应用程序构建数据库缓存(memcached/Redis)?

php - 使用 PHP 在 Google Compute Engine 中使用内存缓存

python - 在 Python 中捕获 PyCharm 停止信号

python - ImportError : No module named api_core. 异常

mongodb - 减轻 Web 应用服务器负载的缓存策略

php - Pecl Memcache 和 php5-memcache

nginx 内存缓存