Memcached::get
(PECL memcached >= 0.1.0)
Memcached::get — アイテムを取得する
説明
Memcached::get() は、キー
key
に格納されたアイテムを返します。
アイテムが存在して flags
に
Memcached::GET_EXTENDED
が指定されていた場合には、
そのアイテムの CAS トークンの値も返します。CAS トークンの使用法は
Memcached::cas() を参照ください。Read-through キャッシュコールバック
は cache_cb
パラメータで指定します。
パラメータ
key
- 取得したいアイテムのキー。
cache_cb
- Read-through キャッシュコールバック、あるいは
null
。 flags
- 返される結果を制御するフラグ。
Memcached::GET_EXTENDED
を指定すると、CAS トークンも返すようになります。
返り値
キャッシュに格納された値、あるいは false
を返します。
flags
に Memcached::GET_EXTENDED
が設定されている場合は、キャッシュに格納された値と CAS トークンを含む配列を返します。
キーが存在しない場合、
Memcached::getResultCode() は
Memcached::RES_NOTFOUND
を返します。
例
例1 Memcached::get() の例 #1
<?php$m = new Memcached();$m->addServer('localhost', 11211);$m->set('foo', 100);var_dump($m->get('foo'));?>
上の例の出力は以下となります。
int(100)
例2 Memcached::get() の例 #2
<?php$m = new Memcached();$m->addServer('localhost', 11211);if (!($ip = $m->get('ip_block'))) { if ($m->getResultCode() == Memcached::RES_NOTFOUND) { $ip = array(); $m->set('ip_block', $ip); } else { /* エラーをログに記録します */ /* ... */ }}?>
変更履歴
バージョン | 説明 |
---|---|
PECL memcached 3.0.0 | &cas_token パラメータが削除されました。
その代わりに新たに |
参考
- Memcached::getByKey() - 指定したサーバーからアイテムを取得する
- Memcached::getMulti() - 複数のアイテムを取得する
- Memcached::getDelayed() - 複数のアイテムを要求する