それらは同一ではありません。 Memcache は古いですが、いくつかの制限があります。リテラル FALSE
を保存できないことに気付くまで、アプリケーションで問題なく使用していました キャッシュ内。値 FALSE
キャッシュから返される値は、キャッシュに値が見つからない場合に返される FALSE と同じです。どれがどれであるかを確認する方法はありません。 Memcached には追加のメソッドがあります (とりわけ) Memcached::getResultCode
キーが見つかったかどうかがわかります。
この制限のため、FALSE
の代わりに空の配列を保存することに切り替えました キャッシュ内。私はまだ Memcache を使用していますが、決定しようとしている人のためにこの情報を公開したかっただけです。
(ServerFault から部分的に盗まれました)
どちらも機能的には同じだと思いますが、単に作成者が異なり、一方が他方よりも適切に名前が付けられているだけです。
以下は、命名規則の簡単な背景説明です (なじみのない人向け)。質問者のフラストレーションを説明しています。 land) であり、インターフェイスまたはクライアント アプリケーションは、デーモンを制御またはアクセスするために使用するものです。デーモンは、ほとんどの場合、クライアントと同じ名前に文字「d」が追加された名前が付けられます。たとえば、「imap」は「imapd」デーモンに接続するクライアントです。
memcache モジュールの概要を読むと、memcache がこの命名規則に従っていることが明らかです (この抜粋で memcache と memcached が区別されていることに注意してください)。
<ブロック引用>Memcache モジュールは、特に動的な Web アプリケーションでデータベースの負荷を軽減するように設計された非常に効果的なキャッシング デーモンである memcached に、便利な手続き型でオブジェクト指向のインターフェイスを提供します。
Memcache モジュールはセッション ハンドラ (memcache) も提供します。
memcached の詳細については、»http://www.danga.com/memcached/ を参照してください。
ここでのフラストレーションは、memcached と呼ばれる実際のデーモンと同じ名前を共有しているため、memcached という不適切な名前が付けられた PHP 拡張機能の作成者によって引き起こされます。また、memcached (php モジュール) の紹介で、libmemcached について言及していることにも注意してください。これは、モジュールが memcached デーモンにアクセスするために使用する共有ライブラリ (または API) です。
<ブロック引用>memcached は、高性能な分散メモリ オブジェクト キャッシング システムであり、本質的に汎用的ですが、データベースの負荷を軽減して動的な Web アプリケーションを高速化するために使用することを目的としています。
この拡張機能は、libmemcachedlibrary を使用して、memcached サーバーと通信するための API を提供します。また、セッション ハンドラー (memcached) も提供します。
libmemcached に関する情報は、»http://tangent.org/552/libmemcached.html にあります。