walkor / redis

Asynchronous redis client for PHP based on workerman.
MIT License
18 stars 7 forks source link

建议增加关闭自动重连的选项 #8

Open xpader opened 2 years ago

xpader commented 2 years ago

不知何时增加了自动重连的功能,就连主动调用 close() 后仍然会自动重连,建议增加关闭自动重连的开关参数,并且如果是主动调用 close() 就不再自动重连。 自动重连在手动控制连接的情况下带来的困扰还是挺麻烦的。。

walkor commented 2 years ago

测试了下,调用close后并没有重连,但是会定时有一个提示 Workerman Redis Connection to redis://127.0.0.1:6379 timeout (5 seconds)

xpader commented 2 years ago

是的,连接超时的定时器好像是一直存在的,导致 Client() 第三个参数的回调一直被执行。

xpader commented 2 years ago

另外我觉得自己没有必要执行 gc 回收吧,PHP 本身到了阀值不是会自动回收的吗。

walkor commented 2 years ago

试下主干版本,close时去掉了定时器。 php回收内存,但是不一定会交还操作系统,所以手动gc下。

xpader commented 2 years ago

master 分支刚测了还是会不断触发 timeout 错误的回调,貌似是 constructor 里的 $timer 触发的。。

walkor commented 2 years ago

我这测试没有出现了,如果你要关闭整个client调用close()方法。