phpredis和predis

  一般我们常用的扩展是phpredis和predis两个


[PHPRedis]
  1. 单机方式
<?php
$client = new Redis();
$client->connect('10.30.5.163', '7000');
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');

  2. 集群方式

<?php
$redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001'];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');

  3. 超时设置

<?php
$redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001', 1.5, 1.5];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');

timeout和read_timeout功能。就是加到master列表的后面。

timeout表示连接redis的最长时间,这里设为1.5秒,表示超过1.5秒要是还没连接成功就返回false 。

read_timeout表示连接redis成功后,读取一个key的超时时间,有时候读取一个key 可能value比较大,读取需要很长时间,这里设置1.5秒,表示要是过了1.5秒还没读取到数据就返回false。


  4. 扩展安装

~ git clone git@github.com:phpredis/phpredis.git

~ cd phpredis

~ git fetch

~ git checout feature/redis_cluster #切换到cluster分支

~ phpize

~ ./configure

~ make

~ make install
 
 
[predis]

  1. 连接方式(集群)

<?php
use PredisClient;
require __DIR__ . '/../vendor/autoload.php';

// 写一个节点也可以
$redis_list = [
        'tcp://10.30.5.163:7000',
        'tcp://10.30.5.163:7001',
        'tcp://10.30.5.162:7000'
];

$redis = new Client($redis_list, ['cluster'=>'redis']);

echo $redis->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');

   2. 连接方式(单机)

PredisAutoloader::register();
$client = new PredisClient([
        'scheme' => $scheme,
        'host'   => $host,
        'port'   => $port,
]);
原文地址:https://www.cnblogs.com/xingxia/p/phpredis_and_predis.html