Redis缓存三大问题解析,看完保你面试能造火箭,工作能拧螺丝。
发布时间:2020-12-26 15:18:58 所属栏目:交互 来源:网络整理
导读:前言 日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。 ?面试10家公司,收获9个offer,2020年PHP 面试问题 一旦涉及大数据量的需求,如一些商品抢购的情景,或者主页访问
实现得代码如下: public class MyBloomFilter { // 布隆过滤器长度 private static final int SIZE = 2 << 10; // 模拟实现不同的哈希函数 private static final int[] num= new int[] {5,19,23,31,47,71}; // 初始化位数组 private BitSet bits = new BitSet(SIZE); // 用于存储哈希函数 private MyHash[] function = new MyHash[num.length]; // 初始化哈希函数 public MyBloomFilter() { for (int i = 0; i < num.length; i++) { function [i] = new MyHash(SIZE,num[i]); } } // 存值Api public void add(String value) { // 对存入得值进行哈希计算 for (MyHash f: function) { // 将为数组对应的哈希下标得位置得值改为1 bits.set(f.hash(value),true); } } // 判断是否存在该值得Api public boolean contains(String value) { if (value == null) { return false; } boolean result= true; for (MyHash f : func) { result= result&& bits.get(f.hash(value)); } return result; } }
(编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |