一般情况下,我们统计一个渠道的UV都是先通过select ,然后再插入。
但是我们知道这种方式本身性能效率不高,原因是mysql 的性能决定的。
再上UV这种东西本身的数据量就是会比较大的。那么如果解决了?
参考:https://www.cnblogs.com/liliuguang/p/11112694.html
跟据这个链接的想法,我们可以把查询放到程序去解决,插入交给数据库,这样子的话,就可以极大的提升性能问题
下面是我通过java改造后的代码
public class BloomFilter {
boolean[] container = null;
public BloomFilter(int length)
{
container = new boolean[length];
}
public void Set(String key)
{
int h1 = Hash1(key);
int h2 = Hash2(key);
int h3 = Hash3(key);
int h4 = Hash4(key);
container[h1] = true;
container[h2] = true;
container[h3] = true;
container[h4] = true;
}
public boolean Get(String key)
{
int h1 = Hash1(key);