Redis 官方推荐的 PHP 客户端是 Predis 和 phpredis。php
前者是彻底使用 PHP 代码实现的原生客户端,然后者则是使用 C 语言编写的 PHP 扩展。在功能上二者区别并不大,就性能而言后者会更胜一筹。git
总结起来就是使用 Predis 能够不安装扩展直接使用,而使用 phpredis 须要安装 PHP 扩展。github
虽然 Predis 的性能逊于 phpredis,可是除非执行大量 Redis 命令,不然很难区分两者的性能。并且实际应用中执行 Redis 命令的开销更多在网络传输上,单纯注重客户端的性能意义不大。在开发时能够根据本身的项目须要来权衡使用哪一个客户端。redis
Predis 对 PHP 版本的最低要求为 5.3。网络
安装 Predis 能够克隆其版本库,也能够直接从 GitHub 项目主页中下载代码的 ZIP 压缩包。tcp
下载地址 :性能
https://github.com/nrk/predisui
下载后解压并将整个文件夹复制到项目目录中便可使用。spa
使用时须要引入 autoload.php:code
require "./lib/predis-1.1/autoload.php";
$redis = new Predis\Client();
该行代码会默认 Redis 的地址为 127.0.0.1,端口为 6379。
若是须要更改地址或端口,可使用
$redis = new Predis\Client( array( 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379 ) );
echo $redis->get('foo');
该行代码得到了键名为 foo 的字符串类型键的值并输出出来,若是不存在则会返回 NULL。
当 foo 键的类型不是字符串类型(如列表或集合类型)时会报异常,能够为该行代码加上异常处理:
try { echo $redis->get('foo'); } catch(Exception $e) { echo "Message: {$e->getMessage()}"; }
调用其余命令的方法和 GET 命令同样,如要执行 LPUSH numbers 1 2 3:
$redis->lpush('numbers', '1', '2', '3');