我们在弄清楚如何通过predis 1.1.1连接到以HIPAA兼容模式运行的AWS ElasticCache Redis集群时遇到了麻烦。这意味着:
Predis应该能够完成所有这些操作,但是我们缺少了一些东西。
$connect = "tls://aws-ec-host:9200";
$options = [
'cluster' => 'redis',
'parameters' => [
'password' => 'secrets',
'ssl' => [
'verify_peer' => 'true'
]
]
];
$red_client = new Predis\Client($connection, $options);
使用此配置,我们在处理已移动项目时遇到了异常。好的,因为它可以通过TLS连接并进行身份验证。不好,因为Redis告诉我们要询问另一个节点,而Predis(或者可能是我们的代码)没有处理这种情况。
当我们调整$connect
字符串时,错误会改变。
$connect = [ "tls://aws-ec-host:9200" ];
predis文档说,连接到redis-cluster时,您需要设置一个连接数组,并使用cluster => redis
选项。但是,当我们执行此操作时,它会炸裂创建客户。具体来说...
不能将'CLUSTER'与redis-cluster一起使用
该文档似乎已关闭。但是predis客户端似乎也应该从它应该做的聚合中显示出MOVED项目。是我们必须处理的这种预期行为,还是这里缺少一些配置?