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

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

  • 相关阅读:
    使用新建项目,引用底层库,运行时提示http://www.xinxizhan.cn/none-authorization.html。无授权解决方法
    treeviewhelper用法,找child的UIElement
    用#FFFF2222的string生成color
    DataTemplate.LoadContent Method将resource中的datatemplate转换为UIElement,可以用于对象添加
    Server.Mappath
    回调函数
    用where进行条件查询
    NPOI用法。
    [转].tostring设置格式。C# tostring 格式化输出
    【转】灵活运用 SQL SERVER FOR XML PATH。用于方便处理生成视图
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/redis_con.html
Copyright © 2020-2023  润新知