网站首页 > 技术教程 正文
前言
这里都是基于前面的项目基础上的。springboot整合redis非常的方便,这也是springboot的宗旨,简化配置。这篇文章就教大家如何使用springboot整合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>
配置redis
在application.properties中配置redis
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
因为我本地redis没有设置密码,所以密码这里留空。这个配置项可以去掉,但是我留在这是是想告诉大家可以在这里配置redis密码
实现session共享
其实springboot实现session共享非常的方便,只需要一个@EnableRedisHttpSession注解即可。把该注解加在springboot启动类的上面。
到这里,已经实现redis存储session的功能了。下面通过一个简单例子测试下session是否存储在redis中了。
新建一个SessionController.java,并且写一个设置session的方法,如下:
启动项目,通过postman调用,如下:
通过redis可视化工具,查看redis中是否存在该属性:
通过查看,happyjava已经存在redis中了。
使用nginx测试
通过上面的例子,已经证明了session被redis存储了,下面,我们通过把应用启动在两个端口,使用nginx转发,测试session是否真的共享了。
nginx.config配置
upstream session_server {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://session_server;
proxy_set_header Host $host;
}
}
这里把localhost这个请求,转发到了本地的8080和8081端口。
通过server.port指定程序的端口号
application.properties
server.port=8081
写一个获取session的方法
SessionController.java
这里通过Value注解获取了配置文件的server.port属性,并且通过getSession方法返回。
把程序启动在两个端口
IDEA设置可以多次启动同个main方法。
把Allow paralled run勾上,即可多次启动一个main方法了。我们先把server.port设置为8080启动一次,然后改为8081再次启动。
通过postman多次调用,可以获得结果如下:
可以看到,port分别出现了8080和8081,并且都能够正常获取到之前设置的happyjava这个值,说明session共享已经配置成功了。
总结
springboot配置session共享是非常方便的,只需要EnableRedisHttpSession注解即可。其实也可以使用EnableMongoHttpSession注解用MongoDB来管理session。
猜你喜欢
- 2024-10-13 PHP 分布式集群中session共享问题以及session有效期的设置
- 2024-10-13 spring-session的使用详解(spring sessionfactory)
- 2024-10-13 springboot集成springsession利用redis来实现session共享
- 2024-10-13 「SSO单点登录」分布式Session存在问题 spring-session的设计之妙
- 2024-10-13 【第一篇】Spring-Session实现Session共享入门教程
- 2024-10-13 如何实现集群中的 session 共享存储?什么是二进制协议?
- 2024-10-13 分布式环境session共享实战课程(分布式怎么实现session共享)
- 2024-10-13 SpringBoot一个依赖搞定session共享,没有比这更简单的方案了
- 2024-10-13 #高可用的并发解决方案nginx+keepalived(二)
- 2024-10-13 阿里十年架构师带你学分布式高性能架构Dubbo+Nginx+Session+RPC
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)