django 定时把 redis 缓存同步到数据库的最佳实践是什么?

2017-09-17 20:58:56 +08:00
 a87150

搞了一下午 celery 都没弄好,报 Apps aren't loaded yet.完全不知道怎么解决。

4739 次点击
所在节点    Python
9 条回复
Immortal
2017-09-17 21:27:03 +08:00
没有实践过,第一反应是任务计划

不过,我怎么感觉怪怪的
应该是数据先落地再做缓存 不应该是先缓存再落地 这样会有可能导致意外数据丢失的
一般 up 主这种如果是落地耗时的业务 是不是应该考虑走异步 比如队列
a87150
2017-09-17 21:51:28 +08:00
@Immortal
我是想把点击点赞这种不是很重要又很频繁的操作先用 redis 缓存,然后空闲时间一次性存到数据库。
Immortal
2017-09-17 22:37:48 +08:00
@a87150 可以任务计划 或者 设定一个阀值 满多少落地一次
a87150
2017-09-17 22:46:25 +08:00
@Immortal 我就是想问用什么计划任务最简单方便
Immortal
2017-09-17 23:34:02 +08:00
@a87150 写个脚本 然后配置到 crontab 不就好了...
wekw
2017-09-18 01:56:00 +08:00
最佳实践:别用 Python,用自带的二进制工具
pepesii
2017-09-18 08:06:47 +08:00
Celery beat
Crontab
pepesii
2017-09-18 08:17:51 +08:00
又看了下,redis 搞个主从,然后在从机上去做定时任务,获取 size 大小,超过你的设置的阈值就同步嘛
ToughGuy
2017-09-18 09:31:36 +08:00
managment/commands/sync_cache.py

*/5 * * * * python manage.py sync_cache

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/391447

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX