1. 現在、ほとんどの PHP 環境では d のない memcache バージョンが使用されています。このバージョンは以前にリリースされたもので、完全に PHP フレームワーク内で開発されたネイティブ バージョンです。 d に対応する memcached は libmemcached に基づいているため、相対的に言えば、memcached バージョンの方がより完全な機能を備えています。
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
2.Memcache はネイティブですこれは、OO インターフェイスと非 OO インターフェイスの両方の共存をサポートするために実装されています。 Memcached は libmemcached を使用し、OO インターフェイスのみをサポートします。
3. memcached のもう 1 つの非常に賞賛すべき点は、フラグが動作中に設定されず、統一された setOption() があることです。 Memcached は、memcached プロトコルの多くを実装します。
4.memcached はバイナリ プロトコルをサポートしていますが、memcache はサポートしていません。これは、memcached のパフォーマンスが高いことを意味します。ただし、memcached は現在、長時間接続をサポートしていません。
PHP クライアント拡張機能の memcache と memcached を比較する表が以下にあります
http://code.google.com/p/memcached/wiki/PHPClientComparison
誰もがより懸念しているもう 1 つの点は、使用されているアルゴリズムです。 「一貫性のあるハッシュ アルゴリズム」は、ストレージ ノードの追加または削除時に memcached に保存されているデータへの影響が少ないアルゴリズムであることは誰もが知っています。このアルゴリズムは PHP の両方の拡張ライブラリで使用できますが、設定方法が異なります。
Memcache
php.ini を変更して次を追加します:
[Memcache]
Memcache.allow_failover = 1
…
…
Memcache.hash_strategy =consistent
Memcache.hash_function =crc32
…
…
またはphpでini_setメソッドを使用します:
Ini_set('memcache.hash_strategy','standard');
Memcached
$mem = new memcached(); (Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT); $mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);
http://www.bkjia.com/PHPjc/323695.html