PHP 与 Redis 入门教程
Redis 官方推荐的 PHP 客户端是 Predis 和 phpredis。
前者是完全使用 PHP 代码实现的原生客户端,而后者则是使用 C 语言编写的 PHP 扩展。在功能上两者区别并不大,就性能而言后者会更胜一筹。
总结起来就是使用 Predis 可以不安装扩展直接使用,而使用 phpredis 需要安装 PHP 扩展。
虽然 Predis 的性能逊于 phpredis,但是除非执行大量 Redis 命令,否则很难区分二者的性能。而且实际应用中执行 Redis 命令的开销更多在网络传输上,单纯注重客户端的性能意义不大。在开发时可以根据自己的项目需要来权衡使用哪个客户端。
Predis 对 PHP 版本的最低要求为 5.3。
安装 Predis
安装 Predis 可以克隆其版本库,也可以直接从 GitHub 项目主页中下载代码的 ZIP 压缩包。
下载地址 :
下载后解压并将整个文件夹复制到项目目录中即可使用。
使用时需要引入 autoload.php:
require "./lib/predis-1.1/autoload.php";
使用方法
首先创建一个到 Redis 的连接:
$redis = new Predis\Client();
该行代码会默认 Redis 的地址为 127.0.0.1,端口为 6379。
如果需要更改地址或端口,可以使用
$redis = new Predis\Client( array( 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379 ) );
使用 GET 命令:
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');