django-redis缓存

背景和意义
服务器数据非经常更新。若每次都从硬盘读取一次,浪费服务器资源、拖慢响应速度。而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。在Django中建立表通常做法是建立一个模型。看似简单,问题调试麻烦、开发时长久。为了进行服务器的加速,使用Redis进行缓存。

windown:

1.安装redis

Redis不支持Windows!在它官网写得很清楚。但是开发环境一般是Windows系统。为了方便开发和调试,需要在Windows中安装Redis。微软自己弄了Redis的Windows版本。打开https://github.com/MSOpenTech/redis/releases下载msi安装包。该版本是64位。安装msi过程中,有个选项是否加入系统环境变量,记得勾上。一路下一步,安装。完成之后打开cmd,输入redis-server命令查看是否可以使用。直接输入redis-server命令使用的配置文件是安装目录下的redis.windows.conf文件。
若提示错误 “ConnectionError: Error 10061 connecting to None:6379”,可以如下操作,打开cmd输入如下命令

redis-cli shutdown

 

2.进入redis安装目录, 启动windown中的redis

redis-server.exe  redis.windows.conf

3.重新打开一个控制台,刚开始连接服务,因为初始没有密码,所以无需输入,即可连接服务。

登陆命令

redis-cli.exe -h 127.0.0.1 -p 6379 //无需添加密码参数

4. 密码操作

4.1 修改密码

打开redis.windows.conf<如果没有此文件,需自己 http://download.redis.io/redis-stable/redis.conf,放置到redis目录下>,找到requirepass值修改密码,如下:
# requirepass foobared
requirepass yourpassword  //此处注意,行前不能有空格
 
4.2 重新设置密码后,重新登录才能获取操作权限
redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456     //需添加密码参数

4.3 获取密码
config get requirepass

 

Django    settings.py

# redis做缓存
CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            'PASSWORD': 'requirepass',
        }
    }
}
REDIS_TIMEOUT=7*24*60*60
CUBES_REDIS_TIMEOUT=60*60
NEVER_REDIS_TIMEOUT=365*24*60*60

下载包

pip install django-redis

测试

进入django的后台命令模式:
from django.core.cache import cache #引入缓存模块
cache.set('data', '555', 60*60)      #写入key为v,值为555的缓存,有效期30分钟
cache.has_key('data') #判断key为v是否存在
cache.get('data')     #获取key为v的缓存

更多命令请查看网址: https://django-redis-chs.readthedocs.io/zh_CN/latest/#

 设置redis开启启动: https://jingyan.baidu.com/article/20095761f30698cb0621b47e.html

posted @ 2019-03-27 18:31  阿丘,你好!  阅读(158)  评论(0编辑  收藏  举报