分散キャッシュ内のn個のノードに均等にデータを分割する必要があります。ハッシュ関数によるデータの分割
次のコードは、キャッシュキーを取得し、ノードを使用するかを決定します:
public static int GetNodeIDByCacheKey(string key)
{
return Math.Abs(key.GetHashCode()) % TotalNumberOfNodes();
}
残念ながらコードが異なるマシン・インスタンス間で信頼できるものではありません。 テストでは、同じキーの別のノードが返されることがあります。
何か改善のための考えやアイデアはありますか?
したがって、あなたは 'key'のビット単位で同じ値に対して、異なる関数結果を得ると主張していますか? –
それは私が現在疑問に思っているのは、私は –
の可能な複製[GetHashCode()が別のサーバで異なる結果を出すという問題ですか?](http://stackoverflow.com/questions/6114772/gethashcode-gives-異なるサーバー上の異なる結果) –