摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續有時間再研究。
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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39481.html
摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續有時間再研究。 1.環境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個SpringBoot項目,參考如下鏈接:h...
摘要:開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章系列處理登錄請求前后端分離一使用完美處理權限問題前后端分離二使用完美處理權限問題前后端分離三中密碼加鹽與中異常統一處理 開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章! Spring Boo...
閱讀 1267·2023-04-25 23:22
閱讀 1668·2023-04-25 20:04
閱讀 2643·2021-11-22 15:24
閱讀 2801·2021-11-11 16:54
閱讀 1879·2019-08-30 14:03
閱讀 1480·2019-08-29 16:35
閱讀 1700·2019-08-26 10:29
閱讀 2643·2019-08-23 18:01