redis的連接數的大小,跟什么有關系?並發量!和已有的連接數


知道redis的連接數可以設置 【最大數】、【最大空閑數】、【最小空閑數】

默認的配置是:
private int maxTotal = 8; //最大數
private int maxIdle = 8; //最大空閑數
private int minIdle = 0; //最小空閑數

但是在這個區間里,到底有多少個連接,由什么影響的?

 

作如下測試:
在redis的命令框里,使用 info clients 命令,可以查看當前有多少個連接數
現在設置 minIdle = 0; maxIdle = 50; maxTotal = 100;

1、打開redis客戶端,在命令框里使用 info clients 命令,可以查看當前有只有1個連接,就是redis客戶端自己的連接

2、此時啟動一個web項目,但是並沒有在瀏覽器里打開對應的網址,使用命令查看,仍然只有1個連接數

3、打開瀏覽器,輸入網址,此時命令查看,有2個連接數了,因為此時訪問了服務器此時連接了redis

4、多打開幾個瀏覽器,都登錄網站,仍然只有2個連接數,因為沒有並發訪問

5、添加了如下代碼,可以多線程並發訪問redis,這時候連接數就會大幅發生改變

@RequestMapping(value = "/bingtest")
@ResponseBody
public String bingtest(){
    for (int i = 0; i < 50000; i++) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                // 這個方法里有兩次redis的查詢操作
                wechatcontent(8L,2);
            }
        });
        thread.start();
    }
    return "success";
}

 

循環50次,連接數為7
循環500次,連接數為22
循環5000次,連接數為51
循環50000次,連接數為51
就這樣一直持續了幾分鍾都是51

等過了一會連接數降為了1
再次循環50000次,連接數為101


這是為什么呢?,不用解釋了吧,我覺得大家這么聰明,肯定懂!

所以,我得到的結論是:
1、redis的連接數的大小跟並發量和已有的連接數有關系
2、想要增加redis的性能,不只要設置最大空閑連接數,還要設置最小空閑連接數

 

原創文章,歡迎轉載,轉載請注明出處!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM