このページは機械翻訳したものです。
        daemon_memcached プラグインを使用するように既存の memcached アプリケーションを適応させる場合は、MySQL および InnoDB テーブルの次の側面を考慮してください:
      
- 数バイトを超えるキー値がある場合は、 - InnoDBテーブルの primary key として数値自動増分カラムを使用し、memcached キー値を含むカラムに一意の secondary index を作成する方が効率的です。 これは、主キー値が (自動増分値と同様に) ソートされた順序で追加されている場合、- InnoDBが大規模な挿入に最適なパフォーマンスを発揮するためです。 主キー値はセカンダリインデックスに含まれ、主キーが長い文字列値の場合は不要な領域を占有します。
- memcached を使用して複数の異なるクラスの情報を格納する場合は、データのタイプごとに個別の - InnoDBテーブルを設定することを検討してください。- innodb_memcache.containersテーブルに追加のテーブル識別子を定義し、- @@テーブル記を使用して異なるテーブルのアイテムを格納および取得します。 様々なタイプの情報を物理的に分割することで、最適な領域使用率、パフォーマンスおよび信頼性のために各テーブルの特性をチューニングできます。 たとえば、ブログ投稿を保持するテーブルに対しては compression を有効にできますが、サムネイルイメージを保持するテーブルに対しては有効にできません。 非常に重要なデータが保持されているテーブルは、別のテーブルよりも頻繁にバックアップする場合もあります。 SQL を使用してレポートを生成するために頻繁に使用されるテーブルに追加の secondary indexes を作成できます。- table_id.- key
- できれば、daemon_memcached プラグインで使用する安定したテーブル定義のセットを構成し、テーブルを永続的に配置したままにします。 - innodb_memcache.containersテーブルへの変更は、- innodb_memcache.containersテーブルへの次回のクエリー時に有効になります。 コンテナテーブルのエントリは起動時に処理され、認識されないテーブル識別子 (- containers.nameで定義) が- @@テーブル記を使用してリクエストされるたびに参照されます。 したがって、関連するテーブル識別子を使用するとすぐに新しいエントリが表示されますが、既存のエントリへの変更を有効にするには、サーバーの再起動が必要です。
- デフォルトの - innodb_onlyキャッシュポリシーを使用すると、- add(),- set(),- incr()のコールは成功しますが、- while expecting 'STORED', got unexpected response 'NOT_STOREDなどのデバッグメッセージはトリガーされます。 デバッグメッセージが発生するのは、新しい値と更新された値が、- innodb_onlyキャッシュポリシーのためにメモリーキャッシュに保存されずに- InnoDBテーブルに直接送信されるためです。