kt1*_*t14 7 python django postgresql caching redis
如果对与缓存数据相关的数据库进行了任何更改,是否有任何方法可以通知 django 刷新缓存?我找到了这篇文章,没有最新的答案,提到的 django 版本是 1.6。我查看了缓存文档,但没有找到与问题直接相关的任何内容。
我的问题是如果我缓存数据库查询的结果并且在缓存超时之间添加了新记录怎么办
from django.core.cache import cache
results = MyModel.objects.all() # 4 count
cache.set('results', results ) # Cached for 5 mins
# Mean while records have been added to MyModel table
results = MyModel.objects.all() # 6 count
cache.get('results') # 4 count and would not be updated for 5 mins
Run Code Online (Sandbox Code Playgroud)
有没有办法检查是否有任何添加到数据库和缓存刷新,无论何时从数据库中添加或删除记录?
我有将近 10 张表,这可能很重要。无论何时更改记录,都必须更新缓存。
非常感谢任何帮助或建议。
项目堆栈:
Django: 1.9
Python: 3.5
Redis: 2.8 (Cache Database)
Postgres: 9.5 (Main Database)
Run Code Online (Sandbox Code Playgroud)