我可以使用Redis容器作为群集吗?
我使用docker-compose为我的Dev Envconfiguration容器,并且我有3个容器(nginx,php,redis)
version: '3' services: php: .. nginx: .. redis: image: redis ports: - 6379:6379
我正在使用Predis来连接到PHP容器的redis,我的问题是:我想在集群模式下工作,当我做这样的事情
$parameters = ['redis']; $options = ['cluster' => 'redis']; $client = new Predis\Client($parameters, $options);
不pipe用
您可能需要获取连接的redis容器的IP地址。
(Assumin Linux)运行docker docker ps
find容器的名字(可能是docker_redis_1),然后docker docker inspect <container name> | grep IPAddress
docker inspect <container name> | grep IPAddress
。 在连接中使用此IP地址 –
$options = ['cluster' => '<IP Address of container>'];
我能通过改变主机的URL来解决这个问题
$parameters = ['redis://redis'];
如果您去Predis连接工厂,您可以在Predis上find可能的scheme
并且Predis支持可能协议与Redis的一个实例进行通信
tcp(TCP / IP),unix(UNIX域套接字)或http(通过Webdis的HTTP协议)
就像在连接参数中提到的一样