【发布时间】:2015-09-17 12:22:04
【问题描述】:
我通过 django 缓存使用 redis 缓存后端和缓存模板。 我用模板标签创建缓存
{% cache 43200 object_detail object_detail.pk request.LANGUAGE_CODE %}
{% endcache %}
在 redis-cli 中我看到这样的东西
1) ":1:template.cache.object_detail.89484b14b36a8d5329426a3d944d2983"
我的缓存失效是在 UpdateView 中保存对象后执行的一个函数,并获取该对象:
def clear_cache_block(obj):
key = hashlib.md5()
obj_pk = obj.pk
key.update(str(obj))
cache.delete_pattern('*object_detail.'+str(key.hexdigest()))
但是生成的hash和redis缓存中的hash不一样。 我应该使用什么来仅为我更新的对象清除缓存?
【问题讨论】: