Memcache 関数とは? わかりやすく解説

Memcache 関数

導入

Memcache モジュールは、memcached に対する手続き型および オブジェクト指向のインターフェイスを提供します。これは非常に効率的な キャッシュデーモンで、動的な web アプリケーションでの データベースの読み込み量を減らすように設計されています。
memcached についてのより詳細な情報は » http://www.danga.com/memcached/ にあります。

要件

このモジュールは、その場でのデータ圧縮機能をサポートするために » zlib の関数を使用しています。 このモジュールをインストールするには Zlib が必要となります。
memcache 拡張モジュールを使用するには、PHP 4.3.3 以降が必要です。

インストール手順

この » PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/memcache.
これらの関数を使用するには、 --enable-memcache[=DIR] オプションを 指定し、Memcache のサポートを有効にして PHP をコンパイルする必要があります。
Windows ユーザがこれらの関数を使用するには、php.ini の中で php_memcache.dll を有効にします。 この PECL 拡張モジュール の DLL» PHP ダウンロード ページ または » http://snaps.php.net/ からダウンロードできます。

実行時設定

php.ini の設定により動作が変化します。
表 160. Memcache 設定オプション
名前デフォルト変更の可否変更履歴
memcache.allow_failover"1"PHP_INI_ALLMemcache 2.0.2 以降で使用可能です
memcache.max_failover_attempts"20"PHP_INI_ALLMemcache 2.1.0 以降で使用可能です
memcache.chunk_size"8192"PHP_INI_ALLMemcache 2.0.2 以降で使用可能です
memcache.default_port"11211"PHP_INI_ALLMemcache 2.0.2 以降で使用可能です

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
memcache.allow_failover boolean
エラー時に、透過的なフェイルオーバーを行うかどうかを指定します。
memcache.max_failover_attempts integer
データの設定や取得を試みるサーバの数を指定します。 memcache.allow_failover を指定した場合にのみ使用します。
memcache.chunk_size integer
データは、ここで指定した大きさに分割されます。 この値を小さくすると、ネットワークに対する書き込みが多くなります。 不可解な速度低下が発生する場合は、この値を 32768 まで大きくしてください。
memcache.default_port string
memcached サーバに接続する際に、 デフォルトで使用される TCP ポート番号。

リソース型

memcache モジュールで使用されるリソースは 1 種類で、それは キャッシュサーバとの接続を指す ID です。

定義済み定数

表 161. MemCache 定数
名前説明
MEMCACHE_COMPRESSED (integer) Memcache::set()Memcache::add() そして Memcache::replace() を実行する際に、同時にデータの圧縮を行います。

例 1205. memcache 拡張モジュールの概要
<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("接続できませんでした");

$version = $memcache->getVersion();
echo "サーバのバージョン: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("データをサーバに保存できませんでした");
echo "データをキャッシュに保存します (データの有効期限は 10 秒です)<br/>\n";

$get_result = $memcache->get('key');
echo "キャッシュから取得したデータ:<br/>\n";

var_dump($get_result);

?>


上の例では、オブジェクトをキャッシュに保存した後に、改めて取得しなおします。 オブジェクトやその他の非スカラー型のデータは、保存される前に シリアライズされます。そのため (接続 ID などの) リソース型を 保存することはできません。

目次

Memcache::add — サーバに項目を追加する
Memcache::addServer — コネクションプールに memcached サーバを追加する
Memcache::close — memcached サーバとの接続を閉じる
Memcache::connect — memcached サーバへの接続をオープンする
memcache_debug — デバッグ出力のオン/オフを切り替える
Memcache::decrement — 項目の値を減らす
Memcache::delete — サーバから項目を削除する
Memcache::flush — サーバ上のすべての既存項目を消去する
Memcache::get — サーバから項目を取得する
Memcache::getExtendedStats — プール内のすべてのサーバの統計情報を取得する
Memcache::getServerStatus — サーバの状態を返す
Memcache::getStats — サーバの統計情報を取得する
Memcache::getVersion — サーバのバージョンを返す
Memcache::increment — 項目の値を増やす
Memcache::pconnect — memcached サーバへの持続的な接続をオープンする
Memcache::replace — 既存項目の値を置換する
Memcache::set — データをサーバに格納する
Memcache::setCompressThreshold — 大きな値に対する自動圧縮処理を有効にする
Memcache::setServerParams — サーバのパラメータおよび状態を、実行時に変更する




固有名詞の分類

このページでは「PHP関数リファレンス」からMemcache 関数を検索した結果を表示しています。
Weblioに収録されているすべての辞書からMemcache 関数を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMemcache 関数 を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Memcache 関数」の関連用語

Memcache 関数のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Memcache 関数のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2025 by the PHP Documentation Group.

©2025 GRAS Group, Inc.RSS