在简单检查以前出现的字符串或值时,有没有办法通过哈希或按位运算符或其他算法来避免使用数据库? 假设,没有办法存储之前出现的字符串的整个历史记录,只能存储很少的信息。
答案 0 :(得分:0)
您可能对Bloom过滤器感兴趣。他们不会让你权威地说,“是的,这个价值是在感兴趣的集合中”,但他们确实让你说“是的,这个价值可能在集合中”对比“否” ,这个值肯定是不在集合中“。在许多情况下,这足以使用。
它的工作方式是:
如果您对此方法感兴趣,请参阅https://en.wikipedia.org/wiki/Bloom_filter以获取详细分析,以帮助您适当地调整过滤器(选择正确的数组大小和散列函数数量)以获得有用的概率。