參考 Ubuntu 中 Redis 的安裝與使用。html
參考 python 中使用 Redis 。python
在 Django 中接入 Redis 須要安裝以下依賴包:redis
pip install django-redis
在 settings.py 中加入配置:django
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://192.168.154.129:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100}, "PASSWORD": "1234", } } }
在視圖中就能夠這樣獲取 Redis 鏈接:緩存
from django.shortcuts import HttpResponse from django_redis import get_redis_connection def test(request): # 可經過參數選擇鏈接 對應 settings.py 中 CACHES 節中的鍵名 conn = get_redis_connection('default') # 以後就能夠經過拿到的鏈接進行操做了 return HttpResponse('')
使用中間件實現,會通過一系列的認證等操做,若是內容在緩存中存在,則使用 FetchFromCacheMiddleware 獲取內容並返回給用戶,當返回給用戶以前,判斷緩存中是否已經存在,若是不存在則 UpdateCacheMiddleware 會將內容保存至緩存,從而實現全站緩存。url
MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', ] CACHE_MIDDLEWARE_ALIAS = "" CACHE_MIDDLEWARE_SECONDS = "" # 超時時間 CACHE_MIDDLEWARE_KEY_PREFIX = ""
from django.views.decorators.cache import cache_page @cache_page(60 * 15) def my_view(request): pass
from django.views.decorators.cache import cache_page urlpatterns = [ url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)), ]
{# a. 引入TemplateTag #} {% load cache %} {# b. 使用緩存 #} {% cache 5000 緩存key %} 緩存內容 {% endcache %}