Django-redis 数据缓存

Django中都支持什么样的缓存: 文件缓存 、 数据库缓存
同时从多张表查询得到数据——SQL消耗的资源较多
多张表查询到的数据,临时存储在一个缓存表中进行操作,如:视图view、软件缓存、memcache缓存、
redis缓存【**熟悉并掌握】、more…

redis缓存的操作

  • 准备软件:redis数据库、django-redis模块

  • 开始使用:

  • 安装:pip install django-redis

  • 配置:settings.py

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
               "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    
  • 使用:
    (1)处理session[非必要,除非服务器空间有非常大的限制]:配置settings.py

    SESSION_ENGINE = "django.contrib.sessions.backends.cache"
    SESSION_CACHE_ALIAS = "default"
    

(2)作为程序中数据的缓存使用

  from django.core.cache import cache
  # 缓存中存储数据
  cache.set(key, value, timeout=..)
  # 缓存中读取数据
  v = cache.get(key)

一个关于缓存的django-redis项目案例(django-->day06中使用)

 # 导入需要的模块
 from django.core.cache import cache
 from . import models

 def cache_index(change=False):
     print('从redis中查询数据')
     a_list = cache.get('article_list')
     if a_list is None or change == True:
         print('去数据库中查找数据')
         a_list = models.Article.objects.all()
         print('将查询到的数据加载到缓存中')
         cache.set('article_list', a_list)
         return a_list
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权: https://github.com/haiiiiiyun/awesome-django-cn Aweso...
    若与阅读 23,265评论 3 241
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,090评论 2 27
  • 《传不到的生日快乐》 在无数个寂静的夜,望着北极星发呆时,眼前便又浮现起那个春日。那风,那树,那草,那人,那...
    王小嘿_6272阅读 297评论 0 1
  • 姐姐,生日快乐\^O^/! 虽然过了今天你就正式25岁了,但是你在我心中永远18岁!哦,不,永远14岁!!从小到大...
    Afra果绿阅读 1,067评论 0 0