有没有办法通知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
是否有办法检查数据库是否有任何增加,以及当数据库中的记录添加或删除时刷新缓存?
我有近10个表可能很重要。每当记录更改时,都必须更新缓存。
非常感谢任何帮助或建议。
项目堆栈:
Django: 1.9
Python: 3.5
Redis: 2.8 (Cache Database)
Postgres: 9.5 (Main Database)