暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

spring boot + redis实现session共享

Java程序员ZZM 2021-06-21
2970
  1. pom 需要引入 redis 和 session 的依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

  1. application.properties 添加如下配置:
server.port=8080
# redis配置
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=Redis.127
# session存储类型使用redis
spring.session.store-type=redis

  1. 启动类添加 @EnableRedisHttpSession 注解,如下:
import javax.servlet.http.HttpServletRequest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@EnableRedisHttpSession
@SpringBootApplication
public class RocketmqProducerApplication {
  public static void main(String[] args) {
    SpringApplication.run(RocketmqProducerApplication.classargs);
  }
}
@RestController
@RequestMapping
class TestController {
  @GetMapping("/getSessionId")
  public String getSessionId(HttpServletRequest request) {
    return "port: " + request.getServerPort() + "  session: " + request.getSession().getId();
  }
}

从EnableRedisHttpSession注解源码可以看到默认session过期时间是1800秒,同理,我们可以自定义这个时间

  1. 测试:启动两个或以上服务,端口分别为8080,8081……
  • 分别调用:http://127.0.0.1:8080/getSessionId
    ,http://127.0.0.1:8081/getSessionId

sessionId是一样的,redis里也存在同样的session信息,以上,说明session共享已完成。

Spring Boot前后端分离项目解决跨域问题的3种方案

手把手教你搭建一个炫酷的GitHub-pages开源项目静态网站

Sentinel-dashboard的流控配置持久化到Nacos

文章转载自Java程序员ZZM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论