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

2020-04-07 17:17:26 +08:00
 mrsongopen1

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

2387 次点击
所在节点    Go 编程语言
6 条回复
imherer
2020-04-07 17:49:30 +08:00
我猜你程序里根本一个连接都没用到
info clients 里的 1 估计还是你 shell 用的那个 client

试试在程序里在用到 redis 的地方,一直让它处于 wait 状态,不要释放,这样你 client 数量应该就上去了
D3EP
2020-04-07 18:05:45 +08:00
串行执行的吧。
Citrus
2020-04-07 18:34:37 +08:00
你的 shell 循环是不是类似这样的?

#!/bin/bash

for((i=1;i<=1000;i++));
do
./redigo_demo
done
ScepterZ
2020-04-07 18:43:24 +08:00
@Citrus 虽然不知道是不是,但是我成功被你逗笑了
useben
2020-04-07 21:46:26 +08:00
@Citrus 目测是这样了...
xcstream
2020-04-08 04:08:16 +08:00
在 1 和 0 之间跳动 大部分时间是 1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/660158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX