Sa-Token 支持 Redis、Memcached 等专业的缓存中间件中, 做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性
一、引入Maven依赖
<!-- springboot集成redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
以下两种选择一种即可:
- 1、jdk默认序列化方式
<!-- Sa-Token 整合 Redis (使用jdk默认序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis</artifactId>
<version>1.24.0</version>
</dependency>
优点:兼容性好
缺点:Session序列化后基本不可读,对开发者来讲等同于乱码
- 2、jackson序列化方式
<!-- Sa-Token整合redis (使用jackson序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.22.0</version>
</dependency>
优点:Session序列化后可读性强,可灵活手动修改
缺点:兼容性稍差
我选用的是 jackson 序列化方式
无论使用哪种序列化方式,你都必须为项目提供一个Redis实例化方案,例如:
<!-- 提供Redis连接池 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
二、Redis 配置信息
# Redis配置
redis:
host: ${server.host}
port: 6379
password:
database: 0
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 50
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: 3000
# 连接池中的最大空闲连接数
max-idle: 20
# 连接池中的最小空闲连接数
min-idle: 5
# 连接超时时间(毫秒)
timeout: 5000
集成 Redis 后,Sa-Token 的相关数据就会自动保存到 Redis 中,例如:StpUtil.getTokenSession().set(); 方法
如您在阅读中发现不足,欢迎留言!!!