0

セットアップでは、2つのmemcachedサーバーと、これら2つのmemcachedサーバーに接続するための2つのWebサーバーがあるとします。spymemcachedクライアントを使用しています。

仮定する:

1)web1はキー「abc」をmemcachedに挿入します。いくつかのメカニズムに基づいて、memcached1に保存されました。

2)web2がキー「abc」を取得しようとすると、memcached1にアクセスしてキーを取得することをどのようにして知ることができますか?

キーを保存するmemcachedサーバーが常に決定されるように、spymemcachedクライアント側で特別な設定を行う必要がありますか?

4

2 に答える 2

4

これを行うために特別なロジックは必要ありません。Memcached は分散キャッシュであり、キーを異なるサーバーにハッシュすることによって機能します。memcached クラスタ内のすべてのサーバーを一覧表示する限り、問題はありません。

また、変更できるパラメーターの 1 つは、クライアントが使用するハッシュ アルゴリズムであることにも注意してください。これは、接続を構築するために使用する ConnectionFactory クラスで実行できます。

于 2012-06-19T16:51:07.040 に答える
1

通常、同じキーが 2 つの異なる memcached サーバーに保存されることはありません。これは、memcached クライアントがなんらかのアルゴリズムを使用してキーを保存するサーバーを見つけ、指定された ID を使用してルックアップで同じサーバーを再度識別するためです。

使用される典型的なアルゴリズムは次のとおりです。

server_id = key.hashCode()%N、ここで N は、0 から N-1 の数字で識別される memcached サーバーの数です。

于 2013-07-10T10:47:29.273 に答える