Custom 연결 풀
이 방법은 일반 py 파일로 redis를 운영하는 것과 동일합니다. 코드는 다음과 같습니다
views.py
import redis from django.shortcuts import render,HttpResponse from utils.redis_pool import POOL def index(request): conn = redis.Redis(connection_pool=POOL) conn.hset('kkk','age',18) return HttpResponse('设置成功') def order(request): conn = redis.Redis(connection_pool=POOL) conn.hget('kkk','age') return HttpResponse('获取成功')
타사 구성 요소를 통한 redis 운영
Installation
pip3 install django-redis
Configuration :
settings .py
# redis配置 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100} # "PASSWORD": "密码", } } }
사용:
views.py
import redis from django.shortcuts import render,HttpResponse from django_redis import get_redis_connection def index(request): conn = get_redis_connection("default") return HttpResponse('设置成功') def order(request): conn = get_redis_connection("default") return HttpResponse('获取成功')
from rest_framework.views import APIView from rest_framework.response import Response from django.core.cache import cache class OrderView(APIView): def get(self,request,*args,**kwargs): # conn = get_redis_connection('default') cache.set('a','b') print(cache.get('a')) return Response('..')
전체 사이트 캐시
미들웨어 사용, 일련의 인증 및 기타 작업 후 콘텐츠가 캐시에 있는 경우 FetchFromCacheMiddleware 사용 콘텐츠를 획득하여 사용자에게 반환하려면
사용자에게 반환하기 전에 해당 콘텐츠가 캐시에 이미 존재하는지 확인하세요. 존재하지 않으면 UpdateCacheMiddleware가 캐시를 캐시에 저장하여 전체 사이트 캐싱을 실현합니다
MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', # 其他中间件... 'django.middleware.cache.FetchFromCacheMiddleware', ]
하나는 상단에, 하나는 하단
views. py
from django.shortcuts import render,HttpResponse import time def index(request): ctime = str(time.time()) return HttpResponse(ctime) def order(request): ctime = str(time.time()) return HttpResponse(ctime)
은 서로 다른 시간(특정 범위 내)에서 반환되는 시간은 동일하며 둘 다 동일합니다. 그 중 캐시된 시간
개별 뷰 캐싱
방법 1: Pass Decorator
from django.views.decorators.cache import cache_page @cache_page(60 * 15) def my_view(request): ...
방법 2: url
from django.views.decorators.cache import cache_page urlpatterns = [ url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)), ]
1을 통한 부분 페이지 캐싱
{% load cache %}
2을 사용하세요. 더 redis 지식이 있으신 분들은
redis 입문 튜토리얼 칼럼을 주목해주세요.
위 내용은 redis의 django-redis 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!