我想知道使用哈希(CityHash,Murmur等)作为像Hazelcast这样的键值存储中的键是否是个好主意。我预计数据库中会有大约2,000,000,000条记录(URL),因此可能会发生冲突。通过哈希冲突丢失一些数据并不是超级关键,但当然最好避免它们。
记录包含URL,时间戳,状态代码。主要操作是插入并查找URL是否已存在。
那么,鉴于速度是相关的,你会建议什么:
答案 0 :(得分:2)
Hazelcast不依赖于密钥对象的hashCode / equals方法,而是使用密钥的二进制表示的MurMur哈希。
简而言之,您不应该真正担心哈希冲突。