DjangoはRedisでキャッシュする

2764 ワード

Djangoではどのようなキャッシュがサポートされていますか:ファイルキャッシュ、データベースキャッシュは同時に複数のテーブルからデータを取得します.SQLで消費されたリソースは複数のテーブルからクエリーされたデータで、一時的に1つのキャッシュテーブルに格納して操作します.例えば、ビュー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->day 06で使用)
     #        
     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