如果大家对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共享实现原理及代码实例
# 下载地址
# 单点
# 小编
# 的是
# 都是
# 负载均衡
# 在这里
# 会有
# 好了
# 还没
# 在此
# 是由
# 不是很
# 要在
# 用了
# 给大家
# 告诉我们
# 分别为
# 就用
# 到此
相关文章:
建站之星如何保障用户数据免受黑客入侵?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何用低价快速搭建高质量网站?
详解jQuery停止动画——stop()方法的使用
建站之星如何开启自定义404页面避免用户流失?
建站10G流量真的够用吗?如何应对访问高峰?
如何用花生壳三步快速搭建专属网站?
,购物网站怎么盈利呢?
如何配置支付宝与微信支付功能?
香港服务器部署网站为何提示未备案?
网站制作报价单模板图片,小松挖机官方网站报价?
家庭建站与云服务器建站,如何选择更优?
已有域名如何快速搭建专属网站?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
免费视频制作网站,更新又快又好的免费电影网站?
建站之星后台密码如何安全设置与找回?
图册素材网站设计制作软件,图册的导出方式有几种?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
郑州企业网站制作公司,郑州招聘网站有哪些?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星官网登录失败?如何快速解决?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
建站之星如何防范黑客攻击与数据泄露?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何通过虚拟机搭建网站?详细步骤解析
大型企业网站制作流程,做网站需要注册公司吗?
建站之星导航菜单设置与功能模块配置全攻略
建站之星如何快速更换网站模板?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
建站主机如何选?高性价比方案全解析
如何高效利用200m空间完成建站?
家具网站制作软件,家具厂怎么跑业务?
如何通过FTP空间快速搭建安全高效网站?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何确认建站备案号应放置的具体位置?
如何在IIS中新建站点并解决端口绑定冲突?
如何在阿里云虚拟主机上快速搭建个人网站?
南京网站制作费用,南京远驱官方网站?
如何快速上传自定义模板至建站之星?
nginx修改上传文件大小限制的方法
东莞专业制作网站的公司,东莞大学生网的网址是什么?
如何在阿里云服务器自主搭建网站?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何选择靠谱的建站公司加盟品牌?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
C++如何使用std::optional?(处理可选值)
存储型VPS适合搭建中小型网站吗?
宁波免费建站如何选择可靠模板与平台?
*请认真填写需求信息,我们会在24小时内与您取得联系。