我明白Django的高速缓存功能到期指定的时间间隔已经过去之后(例如,1分,1小时等),但是我有一些内容每天的基础上发生变化(例如,“每日消息”)。理想情况下,这将被缓存24小时,但如果我将超时设置为24小时,则不能保证缓存将在午夜精确过期。处理这种情况的最佳做法是什么?如何在特定的时间(例如午夜)清除Django模板缓存?
1
A
回答
1
两种简单的方式映入脑海,既涉及计划的任务,需要在(比方说)午夜运行。
1)获得领先的游戏:安排一些代码运行(例如对于要求您在午夜内容“每日消息”,用24小时到期的自定义管理命令)。 (假设相关的缓存键并没有被设定)
2)去核:在午夜
调度缓存中清除,或者两者结合:
不要去核,只是安排调用只在午夜删除MOTD密钥(例如cache.delete('motd_key'),然后缓存新的密钥)
或者,如果您使用Redis作为缓存后端,则可以缓存MOTD,然后一个EXPIREAT调用设置缓存的MOTD进入在23:59:59到期。redis.py会让你做一个Python化的方式。
如果您使用的Memcached作为后端,你没有得到控制的那个级别。
(如果你使用locmem://,你就错了; O))
+0
这些是一些不错的选择(例如计划任务或Redis)。我以前没有听说过Redis,并会检查出来。谢谢! – Brad
相关问题
- 1. 在Django中清除特定的缓存
- 2. 如何清除django模块缓存?
- 3. 如何计算午夜时间间隔?
- 4. 如何检测时间已过午夜?
- 5. 在午夜时间缓存数据库查询?
- 6. 如何清除或清除特定的pod缓存
- 7. 如何获得给定时区的“午夜”的UTC时间?
- 8. 如何清除NDB中特定模型的缓存
- 9. 从特定时间戳获取午夜时间戳值
- 10. Django缓存 - 清除缓存
- 11. 使缓存对象在午夜
- 12. Django:如何在缓存键使用GET参数时删除模板缓存?
- 13. 如果$时间=午夜,改变$日
- 14. 午夜时间问题
- 15. django模型从午夜过滤日期时间
- 16. 如何在Django中删除缓存的模板片段?
- 17. 如何在标签模板中清除Movable Type缓存
- 18. 自特定日子午夜开始的持续时间
- 19. 后在午夜时间的PostgreSQL
- 20. 如何在午夜前或午夜后学习mytime?
- 21. 如何在特定时间每天删除缓存项目
- 22. 如何从UTC时间计算当地午夜时间
- 23. 如何在几秒钟内获得午夜以来的时间
- 24. 如何确定在某个时间间隔内午夜的次数
- 25. 如何从django模板重置缓存?
- 26. SQL中的时差。午夜总时间
- 27. 部署后清除模板缓存
- 28. 如何用PHP获得午夜时间的小时数
- 29. 在mysql中从午夜减去时间
- 30. HTML输入时间最多在午夜
我不认为这是一个好主意,_BROWSER cache_动态页面。你应该只缓存你的静态文件,而不是整个页面。 – xyres