清风细雨楼 Design By www.eepep.com
一. Redis实现分布式Session管理
1. Memcached管理机制
2. Redis管理机制
1.redis的session管理是利用spring提供的session管理解决方案,将一个应用session交给Redis存储,整个应用中所有session的请求都会去redis中获取对应的session数据。
二. SpringBoot项目开发Session管理
1. 引入依赖pop.xml
<!--springboot-redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--spring-data-redis session 管理--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <!--排除内嵌tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
2. 开发Session管理配置类(使用注解)
@Configuration @EnableRedisHttpSession //将整个应用中使用session的数据全部交给redis处理 public class RedisSessionManager { }
3. Controller层设计
package com.xizi.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; @Controller @RequestMapping("test") public class TestController { //使用redis 的session管理 注意:当session中数据发生变化时必须将session中变化的数据同步到redis中 @RequestMapping("test") public void test(HttpServletRequest request, HttpServletResponse response) throws IOException { List<String> list = (List<String>) request.getSession().getAttribute("list"); if(list==null){ list = new ArrayList<>(); } list.add("xxxx"); request.getSession().setAttribute("list",list);//每次session变化都要同步session response.getWriter().println("size: "+list.size()); response.getWriter().println("sessionid: "+request.getSession().getId()); } @RequestMapping("logout") public void logout(HttpServletRequest request){ //退出登录 request.getSession().invalidate();//失效 } }
4.打包测试
三 . Nginx+Tomcat集群+Redis测试
1.Nginx相关配置
2.Tomcat集群
//这是tom4 后面的两个端口号依次+1 //关闭端口 <Server port="8003" shutdown="SHUTDOWN"> //连接端口 <Connector port="8989" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="10010" protocol="AJP/1.3" redirectPort="8443" />
改变初始页面index.jsp
3.Redis集群
已经开启了,不会的去看我前面的Redis集群搭建博客
4. 测试
上传war包到三个Tomcat的Webapps目录下
直接访问Nginx页面,反向代理了Tomcat集群
GiF演示一波
清风细雨楼 Design By www.eepep.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
清风细雨楼 Design By www.eepep.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE