Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要根据 SQL 查询和该查询中使用的任何参数的字符串值生成校验和。校验和用于缓存场景。如果校验和存在于缓存中,那么结果也存在,然后我不需要点击数据库。
Req 1:重要的是两个不同的查询不会生成相同的哈希。因为这可能会导致返回意外结果。
需求 2:它不能非常慢,但它又在内存中,不应该有太多的内容。
鉴于上下文,哪种算法最适合?CRC32、MD5、SHA1 还是其他?
//丹尼尔
将与参数连接的整个查询字符串放在常规的 HashTable / Dictionary / HashMap 或您的语言中调用的任何内容中。将 SQL 查询作为键,将结果作为值。
您的 HashTable 将为您的字符串使用适当的散列函数并解决任何散列冲突。