欢迎访问我的个人网站==》 jiashubing.cn

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的性能,不只要设置最大空闲连接数,还要设置最小空闲连接数

 

原创文章,欢迎转载,转载请注明出处!

posted @ 2020-07-29 11:26  贾树丙  阅读(3598)  评论(0编辑  收藏  举报