django下使用redis存储缓存session的数据

526次阅读
一条评论

前言时刻:之前一直是使用 Django 的默认的 sqlite 作为 session 的存储,随着user越多,session 也随之增多,就会出现访问卡顿和写入慢的问题。有的时候还会出现数据丢失问题,所以就急需一个高性能的缓存数据库,那就首选我们牛逼的 redis 数据库,高性能而且稳定。

1、安装Redis

这里面以 Ubuntu 系统的如下安装脚本

sudo apt update
sudo apt install redis-server

然后编辑 redis 配置文件,设置密码端口之类的:

sudo vi /etc/redis/redis.conf

2、配置Django Redis

安装 Django 下的 redis 包 命令:

pip3 install django-redis 2、设置 Redis 密码:

sudo vim /etc/redis/redis.conf

在文件中找到requirepass字样的,给注释去掉,写成自己的密码,不知道怎么找的,可以搜下vim搜索快捷键(按下/)

3、控制redis:

# 启动redis
sudo service redis start

# 关闭redis服务
sudo service redis stop

# 重启redis服务
sudo service redis restart

# 查看redis的运行状态
sudo systemctl status redis

django下使用redis存储缓存session的数据

/>

查看redis的表数据的话:

3、配置 setting.py

开始之前还的安装 django-redis

pip3 install django_redis

在setting.py中添加如下代码,使用 redis 作为session存储后端

import django_redis

配置session存储在前面配置的redis数据库中

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

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',
        # 'TIMEOUT': 60000,   # 缓存超时时间(默认为300秒,None表示永不过期)
        'OPTIONS': {
            'MAX_ENTRIES': 3000000,           # 最大缓存记录的数量(默认300)
            # 'CULL_FREQUENCY': 3,          # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
            "PASSWORD": "666",
        }
    }
}
参考文章:

https://wangxin1248.github.io/linux/2018/07/ubuntu18.04-install-redis.html

https://my.oschina.net/u/4380404/blog/4094624

https://harttle.land/2016/08/08/vim-search-in-file.html
6
西园公子
版权声明:本站原创文章,由西园公子2021-01-04发表,共计1246字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
载入中...
jiaozhu 博主
2021-01-04 20:29:48 回复

欢迎各位大佬指出错误~