ホームページ  >  記事  >  データベース  >  Memcached はどのように機能しますか?

Memcached はどのように機能しますか?

藏色散人
藏色散人オリジナル
2018-09-13 17:04:591586ブラウズ

この記事では主に Memcached の動作原理を紹介します。

Memcached によって処理されるアトムは、それぞれの (キー、値) ペア (以下、kv ペアと呼びます) であり、キーは、検索、比較、およびハッシュ化を可能な限り容易にするために、ハッシュ アルゴリズムを通じてハッシュキーに変換されます。同時に、memcached は 2 レベルのハッシュを使用し、これは大規模なハッシュ テーブルを通じて維持されます。

Memcached は、サーバーとクライアントの 2 つのコア コンポーネントで構成されます。memcached クエリでは、クライアントはまずキーのハッシュ値を計算することによって、KV ペアのサーバーの場所を決定します。サーバーが決定されると、クライアントは対応するサーバーにクエリ リクエストを送信して、正確なデータを見つけられるようにします。それらの間には対話やマルチキャスト プロトコルがないため、ネットワーク上の memcached 対話の影響は最小限に抑えられます。

例: 次のシナリオを考えてみましょう。c1、c2、c3 という 3 つのクライアントと、s1、s2、s3 という 3 つの ms があります。

kv ペアを設定します
c1 は key="com"、value= を設定したいと考えています。 「iQiyi」
c1はサーバーリストを取得し、キーのハッシュ変換を実行し、ハッシュ値に基づいてkvペアに格納されているサーバーの場所を決定します
s2が選択されています
c1はs2に接続し、s2はリクエストを受信し、 put (key="com" , value=”iQiyi”) が保存されます

kv ペアを取得します
c3 は key=”com” の値を取得したいと考えています
c3 は同じハッシュ アルゴリズムを使用してハッシュ値を計算し、確認しますkey=”aa” の値が s2
c3 に保存されていること s2 に接続し、s2 から value=”iQiyi” を取得します
c1、c2、c3 から key=”com” の値を取得するその他のリクエストが送信されますs2 へ

Memcached についてさらに詳しく知りたい場合は、PHP 中国語 Web サイトの Memcached ビデオ チュートリアル または Memcached マニュアル を参照してください。

以上がMemcached はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。