エンジニアたるもの想像力が必要だ。 複数のmemcachedサーバーを起動させてキャッシュを分散させるような運用では、各データをそれぞれどのサーバーにキャッシュするかを自動的に選択する必要がある。そのアルゴリズムとして、コンシステントハッシュ法というものがあるのだが、これがなんとも見事なアルゴリズムなのである。 コンシステントハッシュ法はハッシュの一種(注意!!オヤジギャグ!!突っ込むべし!!)なので、特定のキーに対して特定のmemcachedサーバーをつねに選択するためのアルゴリズムである。コンシステントハッシュ法ではない最も単純なハッシュ法としては、MD5などでキーからハッシュ値を算出し、memcachedサーバー台数で割り算をしてその余りを用いるというものがある。実際、このアルゴリズムは非常にシンプルであるし、うまく機能するだろう。ただしサーバー台数が一定であるという条件の下では。