Laravel 4.2 Redis

イントロダクション

Redisはオープンソースの進歩的なキー・値保存システムです。キーに文字列ハッシュリストセットソート済みセットが使用できるため、データ構造サーバーとしてしばしば取り上げられます。

注意:PECLでRedis PHP拡張をインストールしている場合、app/config/app.phpファイルのRedisエイリアスをリネームする必要があります。

設定

アプリケーションのRedis設定はapp/config/database.phpファイルにあります。このファイルの中にredis配列があり、アプリケーションで使用されるRadisサーバーの設定を含んでいます。

'redis' => array(

    'cluster' => true,

    'default' => array('host' => '127.0.0.1', 'port' => 6379),

),

デフォルトサーバー設定は、開発時には十分でしょう。ですが、ご自由に自分の環境に合わせてこの配列を変更してください。ただ各Redisサーバーに名前を与え、使用するホストとポートを指定するだけです。

clusterオプションはLaravel Redisクライアントに対し、Redisノード間でクライアントサイドで共有することを伝えます。これによりノードをプールしたり、利用できるRAMの大きさのキャッシュが利用できます。しかし注意すべきなのは、クライアントサイドの共有ではフェイルオーバーが処理されないことです。ですから主な使い方はキャッシュデーターを他のプライマリーのデーター域から使用できるようにすることでしょう。

Redisサーバーが認証を求めている場合、Redisサーバー設定にpasswordキー/値のペアを指定してください。

使用法

Redis::connectionメソッドを呼び出すだけで、Redisインスタンスが取得されます。

$redis = Redis::connection();

これによりデフォルトのRedisサーバーのインスタンスが取得できます。もしサーバーをクラスタ化していない場合、Redis設定で定義されている特定のサーバーを取得するには、connectionメソッドにサーバー名を渡す必要があります。

$redis = Redis::connection('other');

一度Redisクライアントのインスタンスを取得すれば、どんなRedisコマンドでも、発行できます。LaravelではコマンドをRedisサーバーに渡すため、マジックメソッドが使用できます。

$redis->set('name', 'Taylor');

$name = $redis->get('name');

$values = $redis->lrange('names', 5, 10);

コマンドへの引数はシンプルにマジックメソッドに渡されていることに注目してください。もちろんマジックメソッドを使用したくなければ、サーバーにコマンドを送信するためcommandメソッドを使用できます。

$values = $redis->command('lrange', array(5, 10));

コマンドをデフォルト接続に対し実行吸う場合は、静的なマジックメソッドをRedisクラスに対し使用してください。

Redis::set('name', 'Taylor');

$name = Redis::get('name');

$values = Redis::lrange('names', 5, 10);

注目: RadisのキャッシュセッションドライバーはLaravelに含まれています。

パイプライン

パイプラインは多くのコマンドを一度にサーバーへ送る必要がある時に使用すべきです。使用を開始するにはpipelineコマンドを使ってください。

多くのコマンドをサーバーに送る

Redis::pipeline(function($pipe)
{
    for ($i = 0; $i < 1000; $i++)
    {
        $pipe->set("key:$i", $i);
    }
});

ドキュメント章別ページ

Artisan CLI

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる