我想知道在对具有许多参数的非常大的动态查询进行哈希处理时,生成唯一 key 的最佳哈希算法是什么。
此外,散列查询是使用大型查询创建唯一键的最佳方法,还是有任何其他方法可以为动态大型查询创建唯一键以在 Redis 中使用其唯一键。
最佳答案
问题第一部分的答案是“Which hashing algorithm is best for uniqueness and speed?”问题。简而言之 - SHA1/Murmur2 看起来像是一个潜在的选择。
第二种更复杂,取决于散列函数。例如,Doctrine 使用 sha1 作为哈希键函数作为 sha1(query + params)。 ojit_关于 SHA1 冲突概率的很好的解释。
关于caching - 在 Laravel 4 中为动态查询生成 Redis 缓存键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34879262/