django配置redis缓存
基础环境
ubuntu16.04
django==1.10.8
安装基础包
- 项目的工作环境下安装如下包:
drf-extensions==0.3.1
django-redis-cache==1.7.1
django-redis==4.0.0
redis==2.10.6
- 机器环境安装redis
sudo apt-get install redis
- 配置redis密码,默认为空
sudo vim /etc/redis/redis.conf
# requirepass foobared 将这行注释解开 配置修改foobared为自己的密码,下面的django配置需要用到
requirepass 123pwd
配置django项目的settings文件
- 添加缓存配置
# 配置缓存为redis
CACHES = {
'default': {
'BACKEND': 'redis_cache.cache.RedisCache',
'LOCATION': 'redis://:{}@127.0.0.1:6379'.format('you password'),
"OPTIONS": {
"CLIENT_CLASS": "redis_cache.client.DefaultClient",
},
},
}
- 配置缓存时间
# drf-extensions的设置
REST_FRAMEWORK_EXTENSIONS = {
# DRF的缓存时间设置
'DEFAULT_CACHE_RESPONSE_TIMEOUT': 60 * 1
}
可能异常处理 redis
error: Invalid input of type: 'CacheKey'. Convert to a byte, string or number first.
问题原因:pip 安装的redis版本不支持
解决方案: pip install redis==2.10.6