django用redis存储session的完整过程

2019.05.31

主要步骤:1安装redis,2安装redis扩展django-redis,3安装django-redis-sessions

一安装redis

1、通过yum源安装redis

yum install redis

2、如果没有redis yum源则下载fedora的epel仓库,然后再安装redis

yum install epel-release  #下载fedora的epel仓库

yum install redis        #安装redis

3、安装成功之后,通过下面命令启动redis

# 启动redis

service redis start

# 停止redis

service redis stop

# 查看redis运行状态

service redis status

# 查看redis进程

ps -ef | grep redis

4、让redis开机自行启动

chkconfig redis on

二、redis配置常用的配置方法

redis默认配置文件为/etc/redis.conf,我们通常按需求修改里面的参数对其进行设置。

1、指定Redis监听端口,默认端口为6379

port 6379

2、绑定主机IP地址

bind 127.0.0.1

3、设置数据库的数量,默认数据库为0

databases 16

4、指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合

save

Redis默认配置文件中提供了三个条件:

save 900 1

save 300 10

save 60 10000

5、指定本地数据库文件名,默认值为dump.rdb

dbfilename dump.rdb

6、指定本地数据库存放目录

dir /var/lib/redis  #默认存放目录

7、指定是否激活重置哈希,默认为开启

activerehashing yes

8、设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭

requirepass foobared  #foobared 为密码

上面是学用的,更多的配置,请直接查看配置文件的注释或者查看官方文档。

三、redis常用操作

1、连接redis

redis-cli -h [ip] -p [端口]

#例

redis-cli -h 127.0.0.1 -p 6379

如果设置密码了的话,就输入密码:

auth 445813  #445813为密码,输入密码前要密码前面加 auth和空格

2、简单的redis 键(key)操作

#添加

set key value

#例

set webname django.cn

set usrname "My namne is XXX" #中间有空格的要用引号

#通过KEY查询

127.0.0.1:6379> get webname

"django.cn"

#删除key

del webname

#设置过期时间(单位为秒)

expire key timeout

#也可以在设置值的时候,一同指定过期时间

set key value EX timeout

#例子

set name django.cn EX 20  #设置20秒过期

#查看过期时间

ttl key

#如

ttl name

#查看当前redis中所有Key

keys *

四 安装redis扩展

1 在redis中保存session,需要引入第三方扩展,我们可以使用django-redis来解决

pip install django-redis

2)配置

在settings.py文件中做如下设置

CACHES = {

    "default": {

        "BACKEND": "django_redis.cache.RedisCache",

        "LOCATION": "redis://127.0.0.1:6379/1",

        "OPTIONS": {

            "CLIENT_CLASS": "django_redis.client.DefaultClient",

        }

    }

}

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

SESSION_CACHE_ALIAS = "default"

五 安装django-redis-sessions

1 pip install django-redis-sessions

2 在settings.py 中添加以下数据

# 使用redis保存session数据

  SESSION_ENGINE = 'redis_sessions.session'

  SESSION_REDIS_HOST = 'localhost'         

  SESSION_REDIS_PORT = 6379

#这里设置的数据库是4 注意查询keys * 时要先选中(select 4)

  SESSION_REDIS_DB = 4 

#如果在redis配置文件里设置了密码,记住在这里添加密码 

  SESSION_REDIS_PASSWORD = 'zhanglk123'               

  SESSION_REDIS_PREFIX = 'session'

你可能感兴趣的:(django用redis存储session的完整过程)