関数・クラス解説

mysqlnd_memcache_set

version:PECL mysqlnd_memcache >= 1.0.0 (公式)

MySQL の接続を Memcache の接続と関連づける

公式リファレンス

書式

mysqlnd_memcache_set ( mixed $mysql_connection [, Memcached $memcache_connection [, string $pattern [, callable $callback ]]] ) : bool

説明

mysql_connection と memcache_connection を関連づけます。 pattern を PCRE 正規表現として使い、 callback は通知用のコールバックとして使います。 あるいは、mysql_connection との関連づけを解除します。

MySQL の接続と Memcache の接続を関連づけるときに、この関数は MySQL Server にその設定を問い合わせます。 サーバーの設定を自動検出し、InnoDB Memcache Daemon Plugin を使うのか MySQL Cluster NDB Memcache をサポートするのかを判断します。 また、サーバーに問い合わせて、エクスポートされたテーブルやその他の設定も自動検出します。 これらの自動的な設定の結果を取得するには、mysqlnd_memcache_get_config() を使います。

パラメータ

mysql_connection
MySQL サーバーへのハンドル。 PDO_MYSQL、mysqli あるいは ext/mysql のいずれかの MySQL API 拡張モジュールを利用するもの。
memcache_connection
Memcached のインスタンスで、 MySQL Memcache Daemon プラグインに接続させるもの。 このパラメータを省略した場合は、mysql_connection と memcache の接続との関連づけを解除します。すでに別の接続と関連づけされている場合は、 その関連づけを上書きします。
pattern
Perl 互換の正規表現 形式のパターン。 memcache に渡すクエリーを見つけるときに使います。このパターンには三つのサブパターンが必要です。 最初のサブパターンにはリクエストするフィールドの一覧、 二番目のサブパターンにはクエリーが使う ID カラムの名前、 そして最後のサブパターンにはリクエストする値を指定します。 このパラメータを省略したり NULL を渡したりした場合は、 デフォルトのパターンを使います。
callback
クエリーを MySQL に送るときに使うコールバック。 このコールバックは bool のパラメータを一つ受け取ります。 これは、クエリが Memcache 経由で送られたかどうかを表します。

返値

関連づけ、あるいはその解除が成功した場合に TRUE、 エラーが発生した場合に FALSE を返します。

サンプル

例1 mysqlnd_memcache_set() で、 var_dump() をデバッグ用コールバックとして使う例

$mysqli = new mysqli("host", "user", "passwd", "database"); $memc = new Memcached(); $memc->addServer("host", 11211); mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump'); /* このクエリーは横取りされ、Memcache プロトコル経由で実行します */ echo "Sending query for id via Memcache: "; $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1"); /* f1 は有効なキーフィールドとして設定されていないので、これは Memcache を使いません */ echo "Sending query for f1 via Memcache: "; $mysqli->query("SELECT id FROM test WHERE f1 = 1"); mysqlnd_memcache_set($mysqli); /* これで、通常の MySQL プロトコルを使うようになります */ echo "var_dump won't be invoked: "; $mysqli->query("SELECT f1, f2, f3 WHERE id = 1");

上の例の出力は以下となります。

Sending query for id via Memcache: bool(true) Sending query for f1 via Memcache: bool(false) var_dump won't be invoked:

参考

  • mysqlnd_memcache_get_config() - プラグインの設定情報を返す
  • ワード検索


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

    関数名アルファベット別

    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用の拡張モジュール