장고의 캐시 백엔드를 Redis로 설정

소개



필자 자신이, NoSQL, cache의 지식이 부족하기 때문에, 이 기사의 대상자는 이하와 같은 분을 상정하고 있습니다.
  • windows 사용자
  • NoSQL 초학자
  • 현금 초학자
  • Djnago 프로젝트를 작성하고, 캐시를 사용하고 싶은 분

  • 이 기사의 메인은 Django의 캐시 백엔드에서 Redis를 사용하기 때문에,
    Redis 설치가 완료되었다고 가정합니다.
    Redis 설치에 대해서는 거의 날아갑니다!

    Redis 설치



    1. windows 용 Redis msi 파일을 다운로드하십시오.



    htps : // 기주 b. 코 m / 미 c 로소 f 타 r ゔ ご / 르 ぢ s / 르 ぇ 아세 s / 태 g / ​​우 - 3.0.504 부터
    "Redis-x64-3.0.504.msi"를 다운로드하여 시작합니다.

    2. 인스톨러가 기동하면, 자꾸자꾸 Next.



    설치 프로그램의 내용은 일반 설치 프로그램과 동일합니다. 웃음
  • 약관 동의
  • 설치 디렉토리
     →환경 변수에 path를 추가의 체크 박스가 있으므로, 체크를 붙여 두는 것이 무난.
  • 몇번 포트를 사용할까
     →디폴트는 「6379」. 방화벽 규칙에 추가할지 확인란이 있으므로,
    개별적으로 설정하고 싶지 않은 경우에는 체크를 하는 것을 추천한다.

  • 3. 일단 설치 완료 확인.



    명령 프롬프트를 시작하고 다음을 입력하고 Enter를 누르십시오.
     > redis-cli.exe
    

    그 후, 프롬프트가 다음과 같이 되면, 설치 완료.
     127.0.0.1:6379> 
    

    django-redis 설치



    1. pip로 django-redis를 설치합니다.


     > pip install django-redis 
    

    2. django 프로젝트의 settings.py에 cache 설정을 추가합니다.



    settings.py에 다음 설명을 추가합니다.

    settings.py
      CACHES = {
        'default': {
            'BACKEND': 'django_redis.cache.RedisCache',
            'LOCATION': 'redis://localhost:6379/',
            'OPTIONS': {
                'CLIENT_CLASS': 'django_redis.client.DefaultClient'
            }
        }
      }
    

    * 참고로 기본 CASHES 설정은 여기

    django.conf.global_settings.py
      CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        }
      }
    

    3. 이번에는 템플릿의 일부를 캐시합니다.



    현재 시각을 캐쉬하는 것이 알기 쉬웠으므로, 현재 시각을 캐쉬해 확인한다.
    참고 : 캐시 사용

    test.html
    {% load cache %}
      <h2>こっちはキャッシュせず</h2>
      <span>{{ now }}</span>
    {% cache 240 now_cache%}
      <h2>ここはキャッシュする</h2>
      <span>{{ now }}</span>
    {% endcache %}
    

    ↓표시 화면


    그건 그렇고, redis-cli에서 볼 때,
    HTML이 이스케이프되어 문자열로 저장되어 있음을 확인할 수 있습니다.


    캐시할 수 있는 범위는 view 단위나, 사이트 단위 등 다양하므로,
    참고 사이트의 「 캐시 사용 」를 참고로 해 주었으면 한다.

    사이고에게



    RDB만 사용하고 있었기 때문에, Redis의 값을 저장하는 방법에 위화감을 느껴 버린다.
     데이터베이스명은? 테이블 이름은? 하지만, 거기가 KVS(Key Value Store)의 특징이라고 할 수 있다.
    유연한 사용이 전망될 것 같다.
     
     ○수수께끼의 선언
    페이지의 캐쉬등을 활용해, 응답이 빠른 web페이지의 작성을 유의하고 싶다.

    참고 사이트


  • 33분 4초만에 이해할 수 있는 장고앱 캐시 구현 - LT 대책과 유통기한이라는 이야기
  • django-redis 사용
  • 캐시 사용
  • 좋은 웹페이지 즐겨찾기