Redis_Db クラス

Redis_Db クラスは key-value ストアであるRedis とデータをやり取りすることができます。

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

新しい名前の redis インスタンスを生成します。必要に応じて、設定を変更することができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$name
'default'
新しい redis インスタンスの名前。アプリケーションの db.php 設定ファイルであらかじめ定義しておくことができます。
$config
array()
設定。 db.php 設定ファイルで設定している設定を上書きすることができます。
返り値 Fuel\Core\Redis オブジェクト
// 'mystore' という名前の redis インスタンスを生成
$redis = Redis_Db::forge('mystore');

instance($name = 'default')

以前に生成したインスタンスを名前を指定して返します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$name
'default'
forge() メソッドで事前に生成されているインスタンスの名前。
返り値 Fuel\Core\Redis オブジェクト
// 'mystore' という名前の redis インスタンスを取り出す
$redis = Redis_Db::instance('mystore');

Redis のコマンド

一度 redis オブジェクトを生成したらあとは instance() メソッドを使います。 様々な redis コマンド (Redis ドキュメントを参照のこと) はオブジェクトのメソッドのように使うことができます。

いくつかの例:

// create the Redis 'mystore' instance
$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 コマンドをつなげることができ、それは1度だけ実行されます。

例:

// 'mystore' という名前の redis インスタンスを生成
$redis = Redis_Db::forge('mystore');

// いくつかの redis コマンドをパイプして実行
$result = $redis->pipeline()
	->sadd('list', 4)
	->sadd('list', 1)
	->sadd('list', 55)
	->execute();