Django redis 应用
一、自定义连接池
与python中使用连接池一样(使用单例对象)
注意:每个视图函数都要有
conn = redis.Redis(connection_pool=POOL)
二、使用第三方模块(django-redis)
1、安装
pip3 install django-redis
2、设置setting.py文件
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://ip:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100}, "PASSWORD": "密码", } } }
3、使用
from django_redis import get_redis_connection
def index(request): # default setting的配置文件 con = get_redis_connection('default') con.set('k1', 'v1') print(con.get('k1')) # b'v1' return HttpResponse('设置ok')
三、高级使用
1、全栈使用(中间件)
MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', 其它中间件, 'django.middleware.cache.FetchFromCacheMiddleware', ]
2、单独视图使用,优先级高于全局视图
from django.views.decorators.cache import cache_page @cache_page(60 * 15) def my_view(request): ...
3、局部 template使用
a. 引入TemplateTag {% load cache %} b. 使用缓存 {% cache 5000 缓存key %} 缓存内容 {% endcache %}