django中使用celery和接口缓存

这篇具有很好参考价值的文章主要介绍了django中使用celery和接口缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 django中使用celery

celery中要使用djagno的东西,才要加这句话    
    import os                     
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffy_api.settings.dev")

加载django的配置文件,,将app加入到环境变量中

 接口缓存

当一个接口是去数据库取东西,返回给前端,比如图片,等,每个人访问都要去数据库中查,就会使数据库访问过载。

解决方法:可以将所要查询的资源放在缓存中,这样下个人查询直接在缓存中拿,大大的提高了访问量

写了一个装饰器  

from django.core.cache import cache        #django中的缓存

from luffy_api.utils.common_response import APIResponse     
#封装的response   可以看我之前的博客封装的response



#增加缓存装饰器
def add_cache(hour):
    def jsh(*args,**kwargs):
        data = cache.get('check_banner')
        if not data:
            res = hour(*args, **kwargs)
            data = res.data.get('data')
            cache.set('check_banner', data)
        return APIResponse(data=data)
    return jsh

但是又会产生一个问题,缓存和数据库中的数据不一致

# 双写一致性问题:缓存数据和数据库数据不一致了
    -写入数据库,删除缓存
    -写入数据库,更新缓存
    -定时更新缓存

这里采用定时更新缓存:

利用异步框架celery的定时任务,对缓存实时更新文章来源地址https://www.toymoban.com/news/detail-519020.html

到了这里,关于django中使用celery和接口缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django高级扩展之celery使用

    Celery是一个简单、灵活、可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具。是一个专注于实时处理的任务队列,同时还支持任务调度。 目录 应用场景 问题 解决 celery架构图 安装 配置celery Settings.py配置 创建celery 修改__init__ 开启celery 异步执行

    2024年02月11日
    浏览(26)
  • Django(21):使用Celery任务框架

    Django Web项目中我们经常需要执行耗时的任务比如发送邮件、调用第三方接口、批量处理文件等等,将这些任务异步化放在后台运行可以有效缩短请求响应时间。另外服务器上经常会有定时任务的需求,比如清除缓存、备份数据库等工作。Celery是一个高效的异步任务队列/基于

    2024年02月07日
    浏览(29)
  • Django高级扩展之系统后台使用celery

    如果我们在系统后台想某日某时执行某个任务,或者每隔一段时间执行某个任务,可以使用celery来完成。 目录 安装 安装celery 安装django_celery_beat celery配置 注册应用 celery配置 修改__init__.py 表迁移 执行迁移 控制台运行截图 新增数据表 安装django-celery-results 执行命令 注册应用

    2024年02月11日
    浏览(50)
  • Django 如何使用 Celery 完成异步任务或定时任务

    以前版本的 Celery 需要一个单独的库(django-celery)才能与 Django 一起工作, 但从 Celery 3.1 开始,情况便不再如此,我们可以直接通过 Celery 库来完成在 Django 中的任务。 以 Docker 安装为例,安装一个密码为 mypassword 的 Redis 服务端 在 Django 项目中创建一个 celery.py 文件,并配置

    2023年04月25日
    浏览(34)
  • 一个月学通Python(二十六):Django使用缓存

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》

    2024年02月15日
    浏览(36)
  • Django+Celery学习笔记

    Django+Celery学习笔记 DJANGO中使用CELERY实现定时任务(用DJCELERY) https://www.cnblogs.com/wumingxiaoyao/p/8521567.html Django中celery机制的使用总结 https://blog.csdn.net/Enjolras_fuu/article/details/108513357 代码 https://github.com/furuiyang0715/celery_learn 参考 https://www.celerycn.io/yong-hu-zhi-nan/canvas-she-ji-gong-zuo-liu-che

    2024年02月12日
    浏览(30)
  • django celery 记录

    django celery 记录 dvadmin-celery Django+Django-Celery+Celery的整合实战 https://cloud.tencent.com/developer/article/1445252 https://blog.csdn.net/wowocpp/article/details/131475484 https://docs.celeryq.dev/en/latest/django/first-steps-with-django.html https://docs.celeryq.dev/en/latest/django/index.html http://docs.celeryproject.org/en/latest/ https://

    2024年02月12日
    浏览(26)
  • Django+celery开启时报错

    django.db.utils.DatabaseError: DatabaseWrapper objects created in a thread can only be used in that same thread. The object with alias \\\'default\\\' was created in thread id 19767205568 00 and this is thread id 1976775359680. 问题: 执行celery worker -A s1 -l info -P eventlet能正常,放立即执行的任务(delay)没有问题,不过放apply_async的任务

    2024年02月11日
    浏览(33)
  • django celery period 周期 例子

    django celery period 周期 例子 Django 借助 Celery 实现计划任务排期及调度系统(django-celery-beat) good https://www.jianshu.com/p/f22346379dbe https://django-celery-results.readthedocs.io/en/latest/ https://django-celery-beat.readthedocs.io/en/latest/ 五、运行测试 为了使系统正常运行,需要同时开启三个服务: web 服

    2024年02月12日
    浏览(31)
  • 利用Django和Celery管理定时任务

    同步发表于个人站点: http://panzhixiang.cn/article/2023/3/16/68.html 我们以前一直使用k8s的cronjob来管理定时任务的。把定时任务相关的代码单独封装成一个pod,然后以cronjob的方法来触发。 虽然这个方法操作很简单,没有什么第三方资源的依赖(比如Redis),但是也有一个明显的缺点

    2024年02月07日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包