当前位置: 首页 > 后端技术 > Java

java开发的redis实现分布式Session管理

时间:2023-04-02 01:38:22 Java

Redis实现分布式会话管理Memcached管理机制Redis管理机制Redis会话管理是java培训使用spring提供的会话管理方案,将一个应用会话交给Redis存储,整个应用中的所有会话请求都会从redis对应的session数据。SpringBoot项目开发Session管理引入依赖pop.xmlorg.springframework.bootspring-boot-starter-data-redisorg.springframework.sessionspring-session-data-redisorg.springframework.bootspring-boot-starter-tomcatprovided开发Session管理配置类(使用注解)@Configuration@EnableRedisHttpSession//整个应用中所有session用到的数据都会交给redis处理publicclassRedisSessionManager{}控制器层设计包com.xizi.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;@Controller@RequestMapping("test")publicclassTestController{//使用redis的session管理注意:当session时数据变化,session中变化的数据必须同步到redis@RequestMapping("test")publicvoidtest(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{Listlist=(List)request.getSession().getAttribute("列表");if(list==null){list=newArrayList<>();}list.add("xxxx");request.getSession().setAttribute("list",list);//每次session变化都要同步sessionresponse.getWriter().println("size:"+list.size());response.getWriter().println("sessionid:"+request.getSession().getId());}@RequestMapping("logout")publicvoidlogout(HttpServletRequestrequest){//退出登录request.getSession().invalidate();//失效}}打包测试Nginx+Tomcat集群+Redis测试Nginx相关配置Tomcat集群//这是tom4后面的两个端口号依次+1//关闭端口//连接端口更改初始页面index.jsp3.Redis集群已经开启了,就不去看我前面的Redis集群搭建博客测试了上传war包到三个TomcatWebapps目录直接访问Nginx页面,反向代理Tomcat集群GiF演示一波作者:演员zzzz