Spring Boot Redis 存储 Session
第一步,编写pom.xml
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- Redis Session -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<!-- Redis Session -->
第二步,创建配置文件类 RedisSessionConfig.java
package com.example.demo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@Configuration
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400 * 30, redisNamespace = "spring:session:demo")
public class RedisSessionConfig {
}
第三步,配置application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/posystem?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password:
jpa:
database: MYSQL
show-sql: true
hibernate:
ddl-auto: update
naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect
redis:
## Redis数据库索引(默认为0)
database: 0
## Redis服务器地址
host: 127.0.0.1
## Redis服务器连接端口
port: 6379
## Redis服务器连接密码(默认为空)
password:
jedis:
pool:
## 连接池最大连接数(使用负值表示没有限制)
#spring.redis.pool.max-active=8
max-active: 8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
#spring.redis.pool.max-wait=-1
max-wait: -1
## 连接池中的最大空闲连接
#spring.redis.pool.max-idle=8
max-idle: 8
## 连接池中的最小空闲连接
#spring.redis.pool.min-idle=0
min-idle: 0
## 连接超时时间(毫秒)
timeout: 1200
server:
http2:
enabled: true
compression:
enabled: true
mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
min-response-size: 1024
error:
include-exception: true
include-stacktrace: on-trace-param
path: /error
whitelabel:
enabled: true
port: 9011
servlet:
context-path: /
session:
timeout: 604800
第四步,编写控制器
@Autowired
HttpSession session;
@GetMapping("redisSession")
public void redisSession()
{
Map<String,Object> SetData = new HashMap<>();
SetData.put("admin_id",1);
SetData.put("admin_name","超级管理员");
//设置session
session.setAttribute("adminInfo", SetData);
//获取sesion
Map<String,Object> GetData= (Map<String,Object>)session.getAttribute("adminInfo");
System.out.println("获取admin_id="+GetData.get("admin_id"));
System.out.println("获取admin_name="+GetData.get("admin_name"));
}