spring boot与redis 实现session共享教程
发布时间 - 2026-01-11 00:37:45 点击率:次如果大家对spring boot不是很了解,大家可以参考下面两篇文章。

Spring Boot 快速入门教程
Spring Boot 快速入门指南
这次带来的是spring boot + redis 实现session共享的教程。
在spring boot的文档中,告诉我们添加@EnableRedisHttpSession来开启spring session支持,配置如下:
@Configuration
@EnableRedisHttpSession
public class RedisSessionConfig {
}
而@EnableRedisHttpSession这个注解是由spring-session-data-redis提供的,所以在pom.xml文件中添加:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
接下来,则需要在application.properties中配置redis服务器的位置了,在这里,我们就用本机:
spring.redis.host=localhost spring.redis.port=6379
这样以来,最简单的spring boot + redis实现session共享就完成了,下面进行下测试。
首先我们开启两个tomcat服务,端口分别为8080和9090,在application.properties中进行设置【下载地址】 :
server.port=8080
接下来定义一个Controller:
@RestController
@RequestMapping(value = "/admin/v1")
public class QuickRun {
@RequestMapping(value = "/first", method = RequestMethod.GET)
public Map<String, Object> firstResp (HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
request.getSession().setAttribute("request Url", request.getRequestURL());
map.put("request Url", request.getRequestURL());
return map;
}
@RequestMapping(value = "/sessions", method = RequestMethod.GET)
public Object sessions (HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
map.put("sessionId", request.getSession().getId());
map.put("message", request.getSession().getAttribute("map"));
return map;
}
}
启动之后进行访问测试,首先访问8080端口的tomcat,返回 获取【下载地址】 :
{"request Url":"http://localhost:8080/admin/v1/first"}
接着,我们访问8080端口的sessions,返回:
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":http://localhost:8080/admin/v1/first}
最后,再访问9090端口的sessions,返回:
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":http://localhost:8080/admin/v1/first}
可见,8080与9090两个服务器返回结果一样,实现了session的共享
如果此时再访问9090端口的first的话,首先返回:
{"request Url":"http://localhost:9090/admin/v1/first"}
而两个服务器的sessions都是返回:
{"sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":"http://localhost:9090/admin/v1/first"}
通过spring boot + redis来实现session的共享非常简单,而且用处也极大,配合nginx进行负载均衡,便能实现分布式的应用了。
本次的redis并没有进行主从、读写分离等等配置(_(:з」∠)_其实是博主懒,还没尝试过.......)
而且,nginx的单点故障也是我们应用的障碍......以后可能会有对此次博客的改进版本,比如使用zookeeper进行负载均衡,敬请期待。
好了,到此结束吧,以上所述是小编给大家介绍的spring boot与redis 实现session共享教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# spring
# boot
# redis实现session
# 共享
# redis
# 基于SpringBoot+Redis的Session共享与单点登录详解
# SpringBoot2.x 整合Spring-Session实现Session共享功能
# Spring boot集成spring session实现session共享的方法
# Springboot实现多服务器session共享
# spring boot整合redis实现shiro的分布式session共享的方法
# 详解springboot中redis的使用和分布式session共享问题
# Spring Boot高级教程之使用Redis实现session共享
# Springboot Session共享实现原理及代码实例
# 下载地址
# 单点
# 小编
# 的是
# 都是
# 负载均衡
# 在这里
# 会有
# 好了
# 还没
# 在此
# 是由
# 不是很
# 要在
# 用了
# 给大家
# 告诉我们
# 分别为
# 就用
# 到此
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在IIS7中新建站点?详细步骤解析
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Python自动化办公教程_ExcelWordPDF批量处理案例
如何在云主机上快速搭建多站点网站?
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
郑州企业网站制作公司,郑州招聘网站有哪些?
phpredis提高消息队列的实时性方法(推荐)
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Laravel如何优化应用性能?(缓存和优化命令)
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
如何快速搭建高效服务器建站系统?
百度浏览器如何管理插件 百度浏览器插件管理方法
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
,在苏州找工作,上哪个网站比较好?
移动端脚本框架Hammer.js
如何在阿里云域名上完成建站全流程?
Laravel storage目录权限问题_Laravel文件写入权限设置
EditPlus中的正则表达式 实战(4)
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
JavaScript模板引擎Template.js使用详解
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何快速选择适合个人网站的云服务器配置?
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
linux写shell需要注意的问题(必看)
如何在IIS管理器中快速创建并配置网站?
如何用免费手机建站系统零基础打造专业网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
javascript中闭包概念与用法深入理解
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
Laravel如何使用Vite进行前端资源打包?(配置示例)
Swift开发中switch语句值绑定模式
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
如何在Windows虚拟主机上快速搭建网站?
linux top下的 minerd 木马清除方法
JavaScript数据类型有哪些_如何准确判断一个变量的类型
实例解析Array和String方法
Java遍历集合的三种方式
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
制作电商网页,电商供应链怎么做?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel如何实现用户密码重置功能?(完整流程代码)
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
Laravel如何使用Sanctum进行API认证?(SPA实战)

