1

我需要根据 SQL 查询和该查询中使用的任何参数的字符串值生成校验和。校验和用于缓存场景。如果校验和存在于缓存中,那么结果也存在,然后我不需要点击数据库。

Req 1:重要的是两个不同的查询不会生成相同的哈希。因为这可能会导致返回意外结果。

需求 2:它不能非常慢,但它又在内存中,不应该有太多的内容。

鉴于上下文,哪种算法最适合?CRC32、MD5、SHA1 还是其他?

//丹尼尔

4

1 回答 1

0

将与参数连接的整个查询字符串放在常规的 HashTable / Dictionary / HashMap 或您的语言中调用的任何内容中。将 SQL 查询作为键,将结果作为值。

您的 HashTable 将为您的字符串使用适当的散列函数并解决任何散列冲突。

于 2012-11-21T10:48:41.273 回答