Memcached の代わりに Memcache を使うべきなのはいつですか? 質問する

Memcached の代わりに Memcache を使うべきなのはいつですか? 質問する

PHPには2つのmemcachedライブラリがあるようです。メモリキャッシュそしてメモリキャッシュ違いは何ですか?どちらを使うべきかどうやって判断しますか?どちらかが時代遅れですか?memcachedはより多くの方法を提供しているようですので、最も開発が進んでいるということだと思いますが、外部 C/C++ ライブラリインストールできるかどうかわかりません。

memcacheは以前から存在しており、追加のライブラリを必要とせず、コンパイル済みバイナリWindows でも使えます! 今のところはこれがより良い選択だと思います。ただし、me​​mcached (サーバー) は初めてなので、memcached (php) に余分な手間をかける価値があるほどの非常に重要な機能があるかどうかはわかりません。

ベストアンサー1

Memcached クライアントライブラリは最近安定版としてリリースされました。これはdiggで使用されています(digg用にAndrei Zmievskiによって開発されましたが、現在はdiggには所属していません)。memcached プロトコル古い memcache クライアントよりも優れています。memcached の最も重要な機能は次のとおりです。

  1. Casトークンこれによって私の作業はずっと楽になり、古くなったデータに対する簡単な予防システムにもなりました。キャッシュから何かを取得するたびに、それとともに cas トークン (2 つの数字) を受け取ることができます。その後、そのトークンを使用して更新されたオブジェクトを保存できます。スレッドの実行中に他の誰も値を更新しなかった場合、スワップは成功します。そうでない場合は、新しい cas トークンが作成され、データを再度読み込み、新しいトークンで再度保存する必要があります。
  2. 読み通すコールバックはスライスされたパン以来の最高のものです。これにより、私のコードの多くが簡素化されました。
  3. getDelayed()スクリプトがサーバーから結果が返されるのを待つ時間を短縮できる便利な機能です。
  4. memcached サーバーは非常に安定しているはずですが、最速ではありません。新しいクライアントでは、ASCII の代わりにバイナリ プロトコルを使用できます。
  5. 複雑なデータをmemcachedに保存するたびに、クライアントは常に値のシリアル化(これは遅い)を実行していましたが、memcachedクライアントでは次のオプションを使用できます。igバイナリこれまでのところ、これによってパフォーマンスがどの程度向上するかをテストする機会はありませんでした。

これらすべての点が、私が最新のクライアントに切り替えるのに十分であり、それがうまく機能することをあなたに伝えることができます。libmemcachedライブラリですが、Ubuntu と Mac OSX にインストールできたので、今のところ問題はありません。

新しいライブラリにアップデートする場合は、最新のサーバーバージョンにアップデートすることをお勧めします。これにはいくつかの優れた機能もあります。インストールする必要があります。リベントコンパイルするのに少し時間がかかりましたが、Ubuntu ではそれほど問題はありませんでした。

今のところ、新しいmemcachedクライアントを採用したフレームワークは見ていません(追跡はしていませんが)が、ゼンドすぐに搭乗します。

アップデート

Zend Framework 2にはMemcached用のアダプタがあり、ここ

おすすめ記事