我正在连接Redis Labs,以便将redis用于我们的应用程序。
以下是我的配置:
$conf=[
'scheme'=>'tcp',
'host'=>'ec2.cloud.redislabs.com',
'port'=>12860,
'database'=>'selector',
'password'=>'redispassword'
];
然后我这样做加载predis库:
require "lib/predis/autoload.php";
之后我这样做:
$client = new Predis\Client($conf);
然后我尝试运行一个命令:
$client->hset('comments',"comment:1","{json_encoded_data}");
这是我收到的错误:
PHP Fatal error: Uncaught exception 'Predis\Connection\ConnectionException' with message '`SELECT` failed: ERR invalid DB index [tcp://cloud.redislabs.com:12860]' in /redis/lib/predis/src/Connection/AbstractConnection.php:155
我已经在线查看,人们说我应该将数据库设置为0但是如果我这样做,我该如何使用我选择的数据库?
不知道该怎么做。
答案 0 :(得分:1)
0
参数适用于您的实例端点:
RedisLabs每个实例只允许一个数据库,因此您在database
参数中使用{{1}}时没有问题:
这正是我们每个Redis Cloud实例的原因 允许只使用一个数据库(默认的0编号数据库)。 这可确保我们服务中的任何两个数据库永远不会竞争 关于单个线程的资源。 事实上,试图使用任何 使用我们的服务而不是0的数据库应该会产生错误。