摘要:并没有因为不一致而不同使用连接,确实存储了一个,如下工程目录实际操纵过程中遇到一个问题启动工程的时候报错解决方法对于依赖,增加了一个,且版本为。启动,未报错,问题解决。后续有时间再研究。
1.环境信息
nginx-1.11.10
redis-latest包(redis windows版本)
springboot1.5.1.RELEASE
2.新建一个SpringBoot项目,参考如下链接:https://segmentfault.com/a/11...
3.nginx和redis解压缩即可,并正常启动
4.springboot集成Redis以及springboot,需要在POM文件中增加依赖
4.0.0 com.example demo3 0.0.1-SNAPSHOT jar demo Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.1.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter org.springframework spring-context-support 4.3.5.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.session spring-session-data-redis org.springframework.boot spring-boot-starter-redis 1.3.8.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.data spring-data-redis org.springframework.boot spring-boot-maven-plugin
5.新建Controller类DemoController.java
@Controller public class DemoController { @Autowired DemoService demoService; @RequestMapping("testcache") @ResponseBody public String testCache(@RequestParam String key){ String s = demoService.testCache(key); return s; } @RequestMapping("/getseansession") @ResponseBody public MapgetSession(HttpServletRequest request){ Map attributeMap = new HashMap (); request.getSession().setAttribute("message", request.getRequestURI()); attributeMap.put("message", request.getRequestURI()); System.out.println("sessionID:" + request.getSession().getId()); return attributeMap; } }
6.新建Service类DemoService.java
@Service public class DemoService { @Cacheable(value = "keycache") public String testCache(String key){ System.out.println("testCache:" + key); return key; } }
7.新建RedisConfig类增加@EnableRedisHttpSession注解
@Configuration @EnableCaching @EnableRedisHttpSession public class RedisConfig{ }
8.application.properties文件配置,其中为了测试ngnix负载均衡功能,本工程配置为8080端口,另一个springboot工程可以配置为别的端口,比如8088,以便启动两个Server
#redis spring.redis.password=xxx #spring.redis.database= # database name spring.redis.hostname=127.0.0.1 # server host spring.redis.port=6379 spring.redis.pool.maxActive=8 spring.redis.pool.maxWait=-1 spring.redis.pool.maxIdle=8 spring.redis.pool.minIdle=0 spring.redis.timeout=0 #tomcat port configuration server.port=8080
可以看到启动了两个Server,DemoApplication和DemoApplication(1)
9.ngnix.conf配置文件中配置负载均衡策略
upstream test { server localhost:8080; server localhost:8088; } server { listen 80; server_name localhost; client_max_body_size 1024M; #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; #} location / { proxy_pass http://test/getseansession; proxy_set_header Host $host:$server_port; }
10.访问http://localhost,会发现http请求交替访问后端两个server。且sessionID是一样的“sessionID:ad0cbb3b-d24d-4d61-87ac-b9ddcfeccaa4”。并没有因为server不一致而sessionID不同
使用RedisClient连接Redis Server,确实存储了一个sessionID,如下:
11.maven工程目录
12.实际操纵过程中遇到一个问题:启动springboot工程的时候报错“java.lang.IllegalStateException: Cannot load configuration class: org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration”
解决方法:对于spring-context-support依赖,增加了一个version,且版本为4.3.5.RELEASE。启动,未报错,问题解决。没配version的时候,默认是4.3.6.RELEASE,奇怪。后续有时间再研究。
org.springframework spring-context-support 4.3.5.RELEASE
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39481.html
摘要:并没有因为不一致而不同使用连接,确实存储了一个,如下工程目录实际操纵过程中遇到一个问题启动工程的时候报错解决方法对于依赖,增加了一个,且版本为。启动,未报错,问题解决。后续有时间再研究。 1.环境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一个SpringBoot项目,参考如下链接:h...
摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...
阅读 1195·2023-04-25 23:22
阅读 1594·2023-04-25 20:04
阅读 2587·2021-11-22 15:24
阅读 2775·2021-11-11 16:54
阅读 1834·2019-08-30 14:03
阅读 1444·2019-08-29 16:35
阅读 1616·2019-08-26 10:29
阅读 2572·2019-08-23 18:01