ホームページ >バックエンド開発 >PHPチュートリアル >php Memcached 分散キャッシュ (1/3)_PHP チュートリアル
一. memcached とは何ですか?
データベースの負荷を軽減して適用します。データとオブジェクトをメモリにキャッシュしてデータベースの読み取り回数を減らすことで、動的なデータベース主導型の Web サイトの速度を実現します。 .net にもキャッシュ機能が組み込まれており、
apache などのサードパーティ ツールも多数あります。 、nginx などを使用して静的リソースをキャッシュすることができます。同時に、データベースの頻繁な操作を減らすためにデータベース クエリ データをキャッシュする独自のキャッシュ メカニズムを開発することもできます。しかし、これらのキャッシュでは常に満足できないと感じることがよくあります memcached は多くの問題を解決します。少なくとも私の勉強の問題の多くは解決してくれたので、記録して共有することにしました。 memcachedは、保存されたキー/値のペアのハッシュマップ
に基づいています。そのデーモンはc で書かれていますが、クライアントは任意の言語で書くことができます (この記事では例として c# を使用します)、そして memcached を経由します。 プロトコル デーモンと通信します。ただし、これらのことは高度すぎる可能性があるため、今は勉強しません。 II. 分散キャッシュ
実際、memcachedは分散キャッシュデータサービスですが、各サービスは互いにまったく通信しません。これは私が考えているものではないかもしれません。理解しています。配布は少し異なります。それは私の才能と知識が限られているからかもしれませんし、あるいは皆が別の視点から問題を考えているからかもしれません。 memcached クライアントは分散アルゴリズムを使用して、異なる memcached サーバーにデータを保存し、そのデータをキャッシュします。分散キャッシュでは、memcached が大量のデータをキャッシュできることがわかります。これにより、私たちの多くが以前に遭遇した、アプリケーション サーバー上のデータのキャッシュという問題が解決されます。キャッシュできるデータは少量だけであり、キャッシュできないとアプリケーション サーバーへの影響が非常に大きくなります。
memcachedアプリケーションメカニズムの図:
この図は少し粗いですが、それでも問題を明確に説明できます。キャッシュ メカニズムの基本原理は、アドレスがこれを要求すると、データを直接クエリして memcached に保存することです。 memcached キャッシュからデータをフェッチするため、サーバー リクエストの負荷が軽減されます。
1 2 3