# spring boot 整合 redis
## 目录
一、说明
1.1 项目结构
1.2 项目主要依赖
二、整合 Redis
2.1 在application.yml 中配置redis数据源
2.2 封装redis基本操作
2.3 redisTemplate 序列化为json格式与反序列化
2.4 测试
附:Redis的数据结构和操作命令
1.1 预备
1.1.1 全局命令
1.1.2 数据结构和内部编码
1.1.3 单线程架构
1.2 字符串
1.3 哈希
1.4 列表
1.5 集合
1.6 有序集合
1.7 键管理
1.7.1 单个键管理
1.键重命名
2. 随机返回键
3.键过期
1.7.2 键遍历
1. 全量键遍历
2. 渐进式遍历
1.7.3 数据库管理
1.切换数据库
2.flushdb/flushall
## 正文
## 一、说明
#### 1.1 项目结构
1. RedisConfig.java 实现了 redisTemplate 序列化与反序列化的配置;
2. RedisOperation 和 RedisObjectOperation 分别封装了对基本类型和对象的操作。
#### 1.2 项目主要依赖
```xml
org.springframework.boot
spring-boot-starter-data-redis
com.fasterxml.jackson.core
jackson-databind
2.9.8
```
## 二、整合 Redis
#### 2.1 在application.yml 中配置redis数据源
```yaml
spring:
redis:
host: 127.0.0.1
port: 6379
# 默认采用的也是 0 号数据库 redis 官方在 4.0 之后版本就不推荐采用单节点多数据库 (db1-db15) 的方式存储数据,如果有需要应该采用集群方式构建
database: 0
# 如果是集群节点 采用如下配置指定节点
#spring.redis.cluster.nodes
```
#### 2.2 封装redis基本操作
需要说明的是 spring boot 提供了两个 template 用于操作 redis:
- StringRedisTemplate:由于 redis 在大多数使用情况下都是操作字符串类型的存储,所以 spring boot 将对字符串的操作单独封装在 StringRedisTemplate ;
- RedisTemplate