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');