Memcached
- はじめに
- インストール/設定
- 定義済み定数
- 有効期限
- コールバック
- セッションのサポート
- Memcached — Memcached クラス
- Memcached::add — アイテムを新しいキーで追加する
- Memcached::addByKey — 指定したサーバーにアイテムを新しいキーで追加する
- Memcached::addServer — サーバーをサーバープールに追加する
- Memcached::addServers — 複数のサーバーをサーバープールに追加する
- Memcached::append — データを既存のアイテムに追記する
- Memcached::appendByKey — 指定したサーバーでデータを既存のアイテムに追記する
- Memcached::cas — アイテムを比較して入れ替える
- Memcached::casByKey — 指定したサーバーでアイテムを比較して入れ替える
- Memcached::__construct — Memcached のインスタンスを作成する
- Memcached::decrement — 数値アイテムの値を減らす
- Memcached::decrementByKey — 指定したサーバー上にある数値アイテムの値を減らす
- Memcached::delete — アイテムを削除する
- Memcached::deleteByKey — 指定したサーバーからアイテムを削除する
- Memcached::deleteMulti — 複数のアイテムを削除する
- Memcached::deleteMultiByKey — 指定したサーバーから複数のアイテムを削除する
- Memcached::fetch — 次の結果を取得する
- Memcached::fetchAll — 残りのすべての結果を取得する
- Memcached::flush — キャッシュ内のすべてのアイテムを無効にする
- Memcached::get — アイテムを取得する
- Memcached::getAllKeys — すべてのサーバーのキーを取得する
- Memcached::getByKey — 指定したサーバーからアイテムを取得する
- Memcached::getDelayed — 複数のアイテムを要求する
- Memcached::getDelayedByKey — 指定したサーバーに複数のアイテムを要求する
- Memcached::getMulti — 複数のアイテムを取得する
- Memcached::getMultiByKey — 指定したサーバーから複数のアイテムを取得する
- Memcached::getOption — Memcached のオプションの値を取得する
- Memcached::getResultCode — 直近の操作の結果コードを返す
- Memcached::getResultMessage — 最後に実行した操作の結果を説明したメッセージを返す。
- Memcached::getServerByKey — キーとサーバーを関連付ける
- Memcached::getServerList — プール内のサーバーの一覧を取得する
- Memcached::getStats — サーバープールの統計情報を取得する
- Memcached::getVersion — サーバープールのバージョン情報を取得する
- Memcached::increment — 数値アイテムの値を増やす
- Memcached::incrementByKey — 指定したサーバー上にある数値アイテムの値を増やす
- Memcached::isPersistent — memcache への接続で持続的接続を使っているかどうかを調べる
- Memcached::isPristine — 直近に作られたインスタンスかどうかを調べる
- Memcached::prepend — 既存のアイテムの前にデータを付加する
- Memcached::prependByKey — 指定したサーバーで既存のアイテムの前にデータを付加する
- Memcached::quit — 開いている接続を閉じる
- Memcached::replace — 既存のキーのアイテムを入れ替える
- Memcached::replaceByKey — 指定したサーバーで既存のキーのアイテムを入れ替える
- Memcached::resetServerList — サーバーリストからすべてのサーバーを消去する
- Memcached::set — アイテムを格納する
- Memcached::setByKey — 指定したサーバーにアイテムを格納する
- Memcached::setEncodingKey — Set AES encryption key for data in Memcached
- Memcached::setMulti — 複数のアイテムを格納する
- Memcached::setMultiByKey — 指定したサーバーで複数のアイテムを格納する
- Memcached::setOption — Memcached のオプションの値を設定する
- Memcached::setOptions — Memcached のオプションの値を設定する
- Memcached::setSaslAuthData — 認証用の資格情報を設定する
- Memcached::touch — アイテムに新しい有効期限を設定する
- Memcached::touchByKey — 指定したサーバー上のアイテムに新しい有効期限を設定する
- MemcachedException — MemcachedException クラス
+add a note
User Contributed Notes 4 notes
joelhy ¶
13 years ago
For those confuse about the memcached extension and the memcache extension, the short story is that both of them are clients of memcached server, and the memcached extension offer more features than the memcache extension.
gabriel dot maybrun at demandmedia dot com ¶
10 years ago
GOTCHA: Recently I was tasked with moving from PECL memcache to PECL memcached and ran into a major problem -- memcache and memcached serialize data differently, meaning that data written with one library can't necessarily be read with the other library.
For example, If you write an object or an array with memcache, it's interpreted as an integer by memcached. If you write it with memcached, it's interpreted as a string by memcache.
tl;dr - You can't safely switch between memcache and memcached without a either a cache flush or isolated cache environments.
<?php
$memcache = new Memcache;
$memcacheD = new Memcached;
$memcache->addServer($host);
$memcacheD->addServers($servers);
$checks = array(
123,
4542.32,
'a string',
true,
array(123, 'string'),
(object)array('key1' => 'value1'),
);
foreach ($checks as $i => $value) {
print "Checking WRITE with Memcache\n";
$key = 'cachetest' . $i;
$memcache->set($key, $value);
usleep(100);
$val = $memcache->get($key);
$valD = $memcacheD->get($key);
if ($val !== $valD) {
print "Not compatible!";
var_dump(compact('val', 'valD'));
}
print "Checking WRITE with MemcacheD\n";
$key = 'cachetest' . $i;
$memcacheD->set($key, $value);
usleep(100);
$val = $memcache->get($key);
$valD = $memcacheD->get($key);
if ($val !== $valD) {
print "Not compatible!";
var_dump(compact('val', 'valD'));
}
}
Moradnejad ¶
4 years ago
## Installing Memcached on Ubuntu
To install Memcached on Ubuntu, go to terminal and type the following commands −
$sudo apt-get update
$sudo apt-get install memcached
## Confirming Memcached Installation
To confirm if Memcached is installed or not, you need to run the command given below. This command shows that Memcached is running on the default port 11211.
$ps aux | grep memcached
To run Memcached server on a different port, execute the command given below. This command starts the server on the TCP port 11111 and listens on the UDP port 11111 as a daemon process.
$memcached -p 11111 -U 11111 -u user -d
You can run multiple instances of Memcached server through a single installation.
davidt ¶
11 years ago
The module also supports SASL authentication, it just isn't documented sadly. You'll need to run the following code:
<?php
$m = new Memcached();
$m->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
$m->setSaslAuthData("user-1", "pass");
?>
You need to enable the "memcached.use_sasl = 1" ini option for memcached in the php.ini file.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google