Redis_Db 类別

Redis_Db 类別能让你與 Redis 鍵 - 值儲存互动。

配置

每个 Redis 資料庫連線必須配置在 app/config/<environment>/db.php 中的 redis 陣列。下面列出了配置選項和解釋。每个配置需要包含一个主機名稱和連接埠。

參数 类型 預設 描述
hostname 字串
'127.0.0.1'
主機名稱
port 整数
6379
用於連線的連接埠
timeout 混合
null
連線逾時
database 整数
0
從零開始的索引資料庫
password 混合
null
選擇性的密码如果資料庫需要認證

forge($name = 'default', $config = array())

建立一个新命名的 redis 的實例,選擇性的帶自訂配置。

靜態
參数
參数 預設 描述
$name
'default'
新 Redis 實例的名稱,如应用程序配置 db.php 档案所定義。
$config
array()
自訂配置,将覆寫定義在 db.php 档案的值。
回傳 Fuel\Core\Redis 物件
範例
// 建立 Redis 'mystore' 實例
$redis = Redis_Db::forge('mystore');

instance($name = 'default')

回傳先前建立的一个具名的實例。

靜態
參数
參数 預設 描述
$name
'default'
請求的 redis 實例名稱,使用 forge() 所建立的。
回傳 Fuel\Core\Redis 物件
範例
// 取回 Redis 的 'mystore' 實例
$redis = Redis_Db::instance('mystore');

Redis 命令

一旦你使用 instance() 方法建立一个 Redis 物件,每个有效的 Redis 命令(見 Redis 文件)做为該物件的方法。

一些範例:

// 建立 Redis 'mystore' 實例
$redis = Redis_Db::forge('mystore');

// 建立一些测试資料
$redis->rpush('particles', 'proton');
$redis->rpush('particles', 'electron');
$redis->rpush('particles', 'neutron');

// 提取範圍
$particles = $redis->lrange('particles', 0, -1);

// 計算元素的数量
$particle_count = $redis->llen('particles');

// 顯示結果
echo "<p>The {$particle_count} particles that make up atoms are:</p>";
echo "<ul>";
foreach ($particles as $particle) {
  echo "<li>{$particle}</li>";
}
echo "</ul>";

流水線

你可以添加多个 Redis 命令進入一个命令流水線,并且一次执行它們。

一个範例:

// 建立 Redis 'mystore' 實例
$redis = Redis_Db::forge('mystore');

// 傳遞一些 redis 命令到流水線,然後执行它們
$result = $redis->pipeline()
	->sadd('list', 4)
	->sadd('list', 1)
	->sadd('list', 55)
	->execute();