默认的django缓存密钥生成器:
def make_key(key, key_prefix, version):
return ':'.join([key_prefix, str(version), key])
Run Code Online (Sandbox Code Playgroud)
我想改变:
在settings.py中
def make_key(key, key_prefix, version):
return key
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'KEY_FUNCTION' : 'settings.make_key',
}
}
Run Code Online (Sandbox Code Playgroud)
但是django用旧的本机函数(prefix-version-key)生成密钥如何更改呢?
尝试:
def make_key(key, key_prefix, version):
return key
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'KEY_FUNCTION' : make_key
}
}
Run Code Online (Sandbox Code Playgroud)
我知道在文档中是"包含虚线路径的字符串"但我在Django 源代码中看到你也可以传递可调用对象(例如.function).
如果您确实需要将其作为字符串传递,则应将此函数移至另一个模块并设置yourproject.module.make_key为KEY_FUNCTION.
| 归档时间: |
|
| 查看次数: |
676 次 |
| 最近记录: |