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