https://github.com/phpredis/phpredis/#readme
<?php
# phpinfo();
## Redis #####################################################
$redis = new Redis();
$redis->connect('192.168.1.100', 6379);
$count = $redis->get('test');
## RedisSentinel:Master->Replica ##############################
$sentinel = new RedisSentinel('192.168.1.100', 26379, 0,'746a72150f0b71f81414c5c7bc2cc93f7cab51c2');
$mymaster=$sentinel->getMasterAddrByName('mymaster');
$slave=$sentinel->slaves('mymaster');
print_r($slave); // slave
$redis=new Redis();
$redis->connect($mymaster[0],$mymaster[1]);
$count = $redis->dbSize();
## Redis Cluster #############################################
#To maintain consistency with the RedisArray class, one can create and connect to a cluster either by passing it one or more 'seed' nodes,
# or by defining these in redis.ini as a 'named' cluster.
// Slot caching: Starting from PhpRedis 5.0.0 these slots can be cached by setting redis.clusters.cache_slots = 1 in php.ini
$cluster = [
'192.168.1.100:7001', // master
'192.168.1.100:7002', // master
'192.168.1.100:7003', // master
'192.168.1.100:7004', // master
'192.168.1.100:7005', // slave
'192.168.1.100:7006', // slave
'192.168.1.100:7007', // slave
'192.168.1.100:7008', // slave
];
$obj_cluster = new RedisCluster(NULL, $cluster, 1.5, 1.5, true); //connecting to a cluster
// In the event we can't reach a master, and it has slaves, failover for read commands
$obj_cluster->setOption(RedisCluster::OPT_SLAVE_FAILOVER, RedisCluster::FAILOVER_ERROR);
$name=$obj_cluster->hgetall("footstep");
http://pecl.php.net/
wget http://pecl.php.net/get/redis-4.2.0.tgz
/usr/local/php/bin/phpize # 生成 configure
make make install
vim php.ini
extension=redis.so
=>