setting.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}
-
},
-
},
-
}
-
SESSION_COOKIE_AGE=1 * 60 #设置session过期时间为 1 分钟
-
''' 配置session引擎SESSION_ENGINE为redis,配置此处session会存储在redis中,不会再去操作数据库了 '''
-
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
建议redis只缓存固定数据,像用户数据等动态数据勿用。
django 对 redis 装饰器的使用:
-
from django.views.decorators.cache import cache_page
-
from django.utils.decorators import method_decorator
-
# 装饰函数
-
@cache_page(60*30) # 设置缓存时间为30分钟
-
def data(self, request):
-
return data
-
# 装饰类
-
class Data(View):
-
""" 修改密码 """
-
@method_decorator(cache_page(60*30)) # 设置缓存时间为30分钟
-
def get(self, request):
-
return data
django对数据的操作:
-
from django.core.cache import cache #引入缓存模块
-
cache.set("key", "value", timeout=None) # 创建(新的) 键和值,永不过期
-
# timeout=0 立即过期
-
# timeout=None 永不超时
-
cache.set("key", "value", timeout=60*60*24) # 创建 键值,过期时间1天
-
cache.ttl("key") # 查看现在‘key’的存活时间
- cache.get("key") # 获得‘key’,若不存在,返回None