Кто-нибудь может сказать мне, как настроить соединение с Redis Cluster в Zend 2? Мы переходим от одного экземпляра Redis к кластеру Redis AWS. Если я просто назначу конечную точку кластера в качестве хоста Redis, он вернет ошибку MOVED
Uncaught exception 'RedisException' with message 'MOVED
Поскольку целью является масштабируемость, я не хочу идти по пути указания отдельных конечных точек для серверов Redis в кластере.
Наш нынешний завод Redis выглядит так
use Zend\Cache\Storage\Adapter\Redis;
use Zend\Cache\Storage\Adapter\RedisOptions;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
/**
* RedisFactory
*/
class RedisFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator)
{
$config = $serviceLocator->get('Config');
$redisConfig = $config['redis'];
$redisOptions = new RedisOptions();
$redisOptions->setServer([
'host' => $redisConfig["host"],
'port' => $redisConfig["port"],
'timeout' => '30'
]);
$redisOptions->setLibOptions(array(
\Redis::OPT_SERIALIZER => \Redis::SERIALIZER_PHP
));
$redisCache = new Redis($redisOptions);
return $redisCache;
}
}
Я не могу найти ничего полезного при поиске кластера / кластеризации Zend 2 Redis, но кто-то должен был столкнуться с этим раньше?
Задача ещё не решена.
Других решений пока нет …