一. 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演示一波
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Redis实现分布式Session管理的机制详解”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年05月21日
2024年05月21日
- 《QQ音乐 抖音热歌榜 225首 2024年第1季度.共计10期 TOP100》[FLAC/分轨][7.3GB]
- 天龙八部手游七周年 少侠集体走心庆生
- 西游笔绘西行红鳞大鳞技能介绍 技能效果一览
- 鸣潮桃祈阵容怎么搭配 最强阵容推荐
- dnf抗性怎么增加
- dnf护石可以分解吗
- dnf护石怎么合成
- 游侠晚报:《刺客信条影》预购火爆 IGN评最佳NS游戏
- 手办鉴赏室:妖精女王超帅气!阿尔托莉雅优雅战斗
- 《黑神话:悟空》将登陆WeGame!全新实机宣传片赏
- 白玛多吉《梦》限量1:1母盘直刻[低速原抓WAV+CUE]
- 林一峰2007-一期一会[香港首版][WAV+CUE]
- 林一峰2004-一个人在途上[LYFEMusic][WAV+CUE]
- 《黑神话:悟空》WeGame页面更新 删除D加密描述
- 《黑神话悟空》登热搜 网友:定价268元太良心了!