V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
a87150
V2EX  ›  Python

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

  •  
  •   a87150 · 2017-09-17 20:58:56 +08:00 · 4904 次点击
    这是一个创建于 2625 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    9 条回复    2017-09-18 09:31:36 +08:00
    Immortal
        1
    Immortal  
       2017-09-17 21:27:03 +08:00
    没有实践过,第一反应是任务计划

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

    */5 * * * * python manage.py sync_cache
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1366 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.