Java управляет кластером redis кластерный кластер с использованием jredis
PHP управляет кластером redis cluster двумя способами:
1. Используйте расширение phpredis, которое является расширением C с более высокой производительностью, но расширение phpredis 2.x не подходит, phpredis необходимо обновить до версии 3.0, но для этого решения есть несколько ссылок.
2. Используйте predis, чистая разработка PHP, используйте пространство имен, нужен php5.3+, высокая гибкость
Я использую predis, адрес загрузки https://github.com/nrk/predis…
После загрузки переименуйте его в predis.
сервер1:192.168.1.198 сервер2:192.168.1.199
сервер1:192.168.1.198 сервер2:192.168.1.199
'redis'));
$client->set("name1", "11");
$client->set("name2", "22");
$client->set("name3", "33");
$name1 = $client->get('name1');
$name2 = $client->get('name2');
$name3 = $client->get('name3');
var_dump($name1, $name2, $name3);die;Имя 1, имя 2 и имя 3-это три ключа, которые распределяются по трем слотам в соответствии с алгоритмом, возможно, на три сервера. Первый запуск predis.php чтобы увидеть результаты:
Затем войдите в клиент redis для проверки кластера:
сервер1
[[email protected] src]# redis-cli -c -p 7000 127.0.0.1:7000> get name1 -> Redirected to slot [12933] located at 192.168.1.199:7004 "11" 192.168.1.199:7004> get name2 -> Redirected to slot [742] located at 192.168.1.199:7003 "22" 192.168.1.199:7003> get name3 "33" 192.168.1.199:7003>
сервер2
[[email protected] src]# redis-cli -c -p 7003 127.0.0.1:7003> get name1 -> Redirected to slot [12933] located at 192.168.1.199:7004 "11" 192.168.1.199:7004> get name2 -> Redirected to slot [742] located at 192.168.1.199:7003 "22" 192.168.1.199:7003> get name3 "33" 192.168.1.199:7003>
Вы можете видеть, что данные распределены по различным серверам. Вы можете убить несколько экземпляров redis в соответствии с ps-ef | grep redis и снова увидеть эффект.