関数・クラス解説

Memcached::getMulti

version:PECL memcached >= 0.1.0 (公式)

複数のアイテムを取得する

公式リファレンス

書式

public Memcached::getMulti ( array $keys [, int $flags ] ) : mixed

説明

Memcached::getMulti() は Memcached::get() と似ていますが、ひとつのキーのアイテムを取得するのではなく keys 配列で指定したキー群から複数のアイテムを取得します。

注意:

v3.0 より前のバージョンでは、二番目のパラメータ &cas_tokens が存在して、見つかったアイテムの CAS トークンが書き込まれるようになっていました。 この &cas_tokens パラメータは memcached 拡張モジュールの v3.0 で削除されました。 その代わりに追加されたのが Memcached::GET_EXTENDED フラグで、 これを flags に指定すれば CAS トークンを得られます。

flags パラメータを使用して、 Memcached::getMulti() 用の追加のオプションを設定します。 Memcached::GET_PRESERVE_ORDER は、要求したのと同じ順番でキーが返されることを保証します。 Memcached::GET_EXTENDED は、CAS トークンも含めて返すようにします。

パラメータ

keys
取得したいキーの配列。
flags
取得操作のオプション。

返値

見つかったアイテムの配列、失敗した場合に FALSE を返します。 必要に応じて Memcached::getResultCode() を使用しましょう。

更新履歴

バージョン 説明
PECL memcached 3.0.0 &cas_tokens パラメータが削除されました。 Memcached::GET_EXTENDED が追加され、これをフラグとして渡すと CAS トークンも取得するようになりました。

サンプル

例1 Memcached::getMulti() example for Memcached v3

// Valid for v3 of the extension $m = new Memcached(); $m->addServer('localhost', 11211); $items = array(     'key1' => 'value1',     'key2' => 'value2',     'key3' => 'value3' ); $m->setMulti($items); $result = $m->getMulti(array('key1', 'key3', 'badkey')); var_dump($result);

上の例の出力は、たとえば以下のようになります。

array(2) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" }

例2 Memcached::getMulti() example for Memcached v1 and v2

// Valid for v1 and v2 of the extension $m = new Memcached(); $m->addServer('localhost', 11211); $items = array(     'key1' => 'value1',     'key2' => 'value2',     'key3' => 'value3' ); $m->setMulti($items); $result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas); var_dump($result, $cas);

上の例の出力は、たとえば以下のようになります。

array(2) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" } array(2) { ["key1"]=> float(2360) ["key3"]=> float(2362) }

例3 Memcached v3 用の Memcached::GET_PRESERVE_ORDER の例

// Valid for v3 of the extension $m = new Memcached(); $m->addServer('localhost', 11211); $data = array(     'foo' => 'foo-data',     'bar' => 'bar-data',     'baz' => 'baz-data',     'lol' => 'lol-data',     'kek' => 'kek-data', ); $m->setMulti($data, 3600); $keys = array_keys($data); $keys[] = 'zoo'; $got = $m->getMulti($keys, Memcached::GET_PRESERVE_ORDER); foreach ($got as $k => $v) {     echo "$k $v\n"; }

上の例の出力は、たとえば以下のようになります。

foo foo-data bar bar-data baz baz-data lol lol-data kek kek-data zoo

例4 Memcached v1 および v2 用の Memcached::GET_PRESERVE_ORDER の例

// Valid for v1 and v2 of the extension $m = new Memcached(); $m->addServer('localhost', 11211); $data = array(     'foo' => 'foo-data',     'bar' => 'bar-data',     'baz' => 'baz-data',     'lol' => 'lol-data',     'kek' => 'kek-data', ); $m->setMulti($data, 3600); $null = null; $keys = array_keys($data); $keys[] = 'zoo'; $got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER); foreach ($got as $k => $v) {     echo "$k $v\n"; }

上の例の出力は、たとえば以下のようになります。

foo foo-data bar bar-data baz baz-data lol lol-data kek kek-data zoo

参考

  • Memcached::getMultiByKey() - 指定したサーバーから複数のアイテムを取得する
  • Memcached::get() - アイテムを取得する
  • Memcached::getDelayed() - 複数のアイテムを要求する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール