spring boot中集成redis,实现分布式缓存集群架构

    科技2022-07-21  97

    说明

    先安装nginx,tomacat,redis集群 nginx安装步骤. redis集群安装步骤说明.

    开发工具

    idea 2020.2.2redis版本:4.0.2tomcate版本:9.0.38

    开发步骤

    项目名称和域名自己定义 说明:简单的创建一个项目,所有没有哦加其他的东西 项目创建好之后,在pom.xml引入包

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>

    主项目

    @SpringBootApplication public class RedisSessionClusterDemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(RedisSessionClusterDemoApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(RedisSessionClusterDemoApplication.class); } }

    配置config

    @Configuration //添加配置 @EnableRedisHttpSession //将redissession引入到https中 public class RedisSessionManager { }

    application.properties文件配置

    #server.port=8989 server.servlet.context-path=/redisession #redis cluster spring.redis.password=1234 spring.redis.cluster.nodes=ip1:port1,ip2:port2,ip3:port3,ip4:port4,ip5:port5,ip6:port6

    简单的controller层demo

    @Controller @RequestMapping("test") public class TestController { @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<>(); } request.getSession().setAttribute("list",list); list.add("xxx"); response.getWriter().println("size:"+list.size()); response.getWriter().println("sessionid: "+request.getSession().getId()); } }

    将项目打包即可 打包时注意

    去掉spring boot中的tomcat <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> 添加打包类型 <packaging>war</packaging>

    将包分别下发到对应的服务器上即可

    Processed: 0.011, SQL: 8