配置 Redis 数据库
# 配置 Redis 数据库
### 安装 django-redis 扩展包
> **1.安装 django-redis 扩展包**
```bash
pip install django-redis
```
> **2.django-redis 使用说明文档**
[点击进入文档](https://django-redis-chs.readthedocs.io/zh_CN/latest/)
### 配置 Redis 数据库
> 在 dev.py 中配置如下信息:
```python
CACHES = {
"default": { # 默认存储信息: 存到 0 号库
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
"session": { # session 信息: 存到 1 号库
"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 = "session"
```
> default:
>
> - 默认的 Redis 配置项,采用 0 号 Redis 库。
>
> session:
>
> - 状态保持的 Redis 配置项,采用 1 号 Redis 库。
>
> SESSION_ENGINE
>
> - 修改 `session 存储机制`使用 Redis 保存。
>
> SESSION_CACHE_ALIAS:
>
> - 使用名为"session"的Redis配置项存储`session数据`。
>
> 配置完成后:运行程序,测试结果。
### 总结:
- 在 django 中使用 redis 需要添加一个插件: django-redis
- 添加完插件后, 我们需要在 dev.py 中配置
- session 的信息, 我们存储到 1 号库中.
举一反三:
- redis 的相关特点:
> 1. redis是个 Nosql 数据库. 分为两部分: 客户端和服务端
> 2. redis 常常用于企业中的缓存处理. 他虽然是数据库, 但是很多公司并不会把它看成是数据库, 而是作为缓存来使用. 主要原因就是因为redis的读取效率极高. 写入: 8w/s 读取: 11w/s. 可以构建集群, 可以构建主从.
> 3. redis 运行在内存中. 可以把内存的数据及时写入到文件中保存在硬盘上, 所以可以做到持久化保存.
> 4. redis 持久化有两种实现策略: 分别为: [RDB和AOF](https://baijiahao.baidu.com/s?id=1654694618189745916&wfr=spider&for=pc)
- 我的电脑上已经安装了 redis 的服务端, 为什么 django 项目中还需要安装 django-redis. 这里的 django-redis 应该怎样理解?
> 我们之前讲过: redis 和 mysql 很像. 都有两个端: 客户端 & 服务端.
>
> 我们想要把数据保存起来,必须走如下的流程:
>
> data ===> 利用客户端 ===> 保存服务端
>
> 所以我们在自己的电脑上安装的是 redis 的服务端, 我们想要把 django工程中的相关数据保存到该服务端, 就需要客户端的帮忙, 那么 django 项目哪里有客户端呢?
>
> 是的, 没有的, 所以我们需要自己安装一个, 所以这里装的 django-redis 插件, 其实就是一个 redis 的客户端, 我们把它装好后, 以后项目中有需要保存的数据了, 就可以把 data ===> django-redis ===> 电脑上的redis服务端.
- redis 的相关命令
> redis 内部有五种数据类型: 分别为: string + list + hash + set + zset
>
> 这五种数据类型对应了很多中操作. 所以大家有兴趣的话, 可以经常用用:
>
> [redis常见命令](