swoft-cloud / swoft

🚀 PHP Microservice Full Coroutine Framework
https://swoft.org
Apache License 2.0
5.58k stars 786 forks source link

App::getBean(\Swoft\Redis\Redis::class) 还是会随机写0db,这问题能不能解决啊? #454

Closed ytd7777 closed 6 years ago

ytd7777 commented 6 years ago
Q A
Bug report? yes/no
Feature request? yes/no
Swoft version x.y.z
Swoole version x.y.z (by php --ri swoole)
PHP version x.y.z (by php -v)
Runtime environment Win10/Mac/CentOS 7/Ubuntu/Docker etc.

Details

Describe what you are trying to achieve and what goes wrong.

// paste output here

Provide minimal script to reproduce the issue

// paste code
huangzhhui commented 6 years ago

@ytd7777 请提供一个可以复现的Demo

ytd7777 commented 6 years ago

@huangzhhui 找到问题的所在了 你们在AbstractRedisConnection里select个uri里配置的db 然后又在RedisPool里select了REDIS_DB

一般使用 uri里的DB不起作用 ,不设置的话就会出现我这种情况 随机写0db;

public function reconnect() 应该是这个函数导致的
ytd7777 commented 6 years ago

@huangzhhui 然后你们 RedisConnection 里的createConnection 没有设置前辍,而SyncRedisConnection又设置了,不知道是不是这个导致我的前辍时灵时不灵的原因

limingxinleo commented 6 years ago

前缀的问题,可能是这个原因。我这边的线上项目都是不要前缀的。。。

另外db的问题,你加一下我qq把,我们直接沟通,我之前也有过这个问题,但当时是因为我用了select的问题。

715557344,注明swoftdb