redis的连接数的大小,跟什么有关系?并发量!和已有的连接数

Posted 阿丙的博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的性能,不只要设置最大空闲连接数,还要设置最小空闲连接数

 

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

以上是关于redis的连接数的大小,跟什么有关系?并发量!和已有的连接数的主要内容,如果未能解决你的问题,请参考以下文章

sk5代理跟本地网速有关系吗

gpu占用低和内存频率有关系吗

无线网络所显示的这个速度跟实际上网速度有关系吗

mysql连接数和并发量的关系

语文不好跟英语有关系吗?

MySQL配置优化