首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
mrsongopen1
V2EX  ›  Go

redigo 中尝试使用连接池, shell 循环跑 1000 为啥 redis 的连接数还是 1?

  •  1
     
  •   mrsongopen1 · 119 天前 · 1410 次点击
    这是一个创建于 119 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,小 demo 已 build,用 shell 循环 1000 次 exe,本地 info clients 一直是 1,用 redigo 封装的 Stats 测试一直都是「 1 0 」,按说连接池应该有大于 1 的链接被用啊,到底是为什么?配置:maxIdle 5 maxActive 10,idleTimeout 5sec 。本人 php,尝试用 go 跑个微服务,愧于学术浅

    6 条回复    2020-04-08 04:08:16 +08:00
    imherer
        1
    imherer   119 天前
    我猜你程序里根本一个连接都没用到
    info clients 里的 1 估计还是你 shell 用的那个 client

    试试在程序里在用到 redis 的地方,一直让它处于 wait 状态,不要释放,这样你 client 数量应该就上去了
    D3EP
        2
    D3EP   119 天前
    串行执行的吧。
    Citrus
        3
    Citrus   119 天前   ❤️ 2
    你的 shell 循环是不是类似这样的?

    #!/bin/bash

    for((i=1;i<=1000;i++));
    do
    ./redigo_demo
    done
    ScepterZ
        4
    ScepterZ   119 天前
    @Citrus 虽然不知道是不是,但是我成功被你逗笑了
    useben
        5
    useben   119 天前
    @Citrus 目测是这样了...
    xcstream
        6
    xcstream   118 天前
    在 1 和 0 之间跳动 大部分时间是 1
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2912 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:21 · PVG 22:21 · LAX 07:21 · JFK 10:21
    ♥ Do have faith in what you're doing.