国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot+Redis+Nginx實現負載均衡以及Session緩存共享

xuxueli / 2165人閱讀

摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續有時間再研究。

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 Map getSession(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

相關文章

  • SpringBoot+Redis+Nginx實現負載均衡以及Session緩存共享

    摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續有時間再研究。 1.環境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個SpringBoot項目,參考如下鏈接:h...

    charles_paul 評論0 收藏0
  • 兩年了,我寫了這些干貨!

    摘要:開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章系列處理登錄請求前后端分離一使用完美處理權限問題前后端分離二使用完美處理權限問題前后端分離三中密碼加鹽與中異常統一處理 開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 評論0 收藏0

發表評論

0條評論

xuxueli

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<