是否可以将两个Predis连接到同一Redis实例的不同数据库?

时间:2017-03-04 09:57:48

标签: php redis predis

我尝试在同一个PHP脚本上创建两个Predis \ Client实例,以分隔属于不同逻辑域的数据。

我这样做如下:

from datetime import datetime, timedelta
current_time = datetime.now()
new_time = current_time - timedelta(seconds=10)
new_time = new_time.time()
print new_time

问题在于:

  • $param1 = [ 'host' => 'localhost', 'port' => 6379, 'database' => 1, ]; $param2 = [ 'host' => 'localhost', 'port' => 6379, 'database' => 3, ]; [... some code ...] $redis1 = new Predis\Client($param1); $redis2 = new Predis\Client($param2); 正确地将数据存储到数据库1中
  • $redis1将数据存储到数据库0而不是3

你知道为什么会这样吗?

2 个答案:

答案 0 :(得分:1)

使用new实例化客户:

$redis1 = new Predis\Client([
    'host'     => 'localhost',
    'port'     => 6379,
    'database' => 1,
]);

$redis2 = new Predis\Client([
    'host'     => 'localhost',
    'port'     => 6379,
    'database' => 3,
]);

答案 1 :(得分:1)

我找到了答案。

由于某种原因,$param2被删除到代码中其他地方的null

Predis\Client 不会失败,但会使用默认参数进行连接!