当前位置: 首页 > news >正文

上海知名网站建设公司排名数据分析师报名官网

上海知名网站建设公司排名,数据分析师报名官网,乔拓云网微信小程序制作收费吗,wordpress 防注入什么是布隆过滤器 布隆过滤器#xff08;Bloom Filter#xff09;是1970年由布隆提出来的。 它实际上是由一个很长的二进制数组一系列hash算法映射函数#xff0c;用于判断一个元素是否存在于集合中。 布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和…什么是布隆过滤器 布隆过滤器Bloom Filter是1970年由布隆提出来的。 它实际上是由一个很长的二进制数组一系列hash算法映射函数用于判断一个元素是否存在于集合中。 布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多缺点是有一定的误识别率和删除困难。 场景 假设有10亿条手机号然后判断某条手机号是否在列表内 mysql可以吗 正常情况下如果数据量不大我们可以考虑使用mysql存储。将所有数据存储到数据库然后每次去库里查询判断是否存在。但是如果数据量太大超过千万mysql查询效率是很低的特别消耗性能。 HashSet可以吗 我们可以把数据放入HashSet中利用HashSet天然的去重性查询只需要调用contains方法即可但是hashset是存放在内存中的数据量过大内存直接oom了。 布隆过滤器特点 插入和查询效率高占用空间少但是返回的结果是不确定的。一个元素如果判断为存在的时候它不一定真的存在。但是如果判断一个元素不存在那么它一定是不存在的。布隆过滤器可以添加元素但是一定不能删除元素会导致误判率增加。 布隆过滤器原理 布隆过滤器其实就是是一个BIT数组通过一系列hash算法映射出对应的hash,然后将hash对应的数组下标位置改为1。查询时就是对数据在进行一系列hash算法得到下标从BIT数组里取数据如如果是1 则说明数据有可能存在如果是0 说明一定不存在 为什么会有误差率 我们知道布隆过滤器其实是对数据做hash,那么不管用什么算法都有可能两条不同的数据生成的hash确是相同的也就是我们常说的hash冲突。 首先插入一条数据 好好学技术 再插入一条数据 这是如果查询一条数据假设他的hash下标已经标为1了那么布隆过滤器就会认为他存在 常见使用场景 缓存穿透 java实现布隆过滤器 package com.fandf.test.redis;import java.util.BitSet;/*** java布隆过滤器** author fandongfeng*/ public class MyBloomFilter {/*** 位数组大小*/private static final int DEFAULT_SIZE 2 24;/*** 通过这个数组创建多个Hash函数*/private static final int[] SEEDS new int[]{4, 8, 16, 32, 64, 128, 256};/*** 初始化位数组数组中的元素只能是 0 或者 1*/private final BitSet bits new BitSet(DEFAULT_SIZE);/*** Hash函数数组*/private final MyHash[] myHashes new MyHash[SEEDS.length];/*** 初始化多个包含 Hash 函数的类数组每个类中的 Hash 函数都不一样*/public MyBloomFilter() {// 初始化多个不同的 Hash 函数for (int i 0; i SEEDS.length; i) {myHashes[i] new MyHash(DEFAULT_SIZE, SEEDS[i]);}}/*** 添加元素到位数组*/public void add(Object value) {for (MyHash myHash : myHashes) {bits.set(myHash.hash(value), true);}}/*** 判断指定元素是否存在于位数组*/public boolean contains(Object value) {boolean result true;for (MyHash myHash : myHashes) {result result bits.get(myHash.hash(value));}return result;}/*** 自定义 Hash 函数*/private class MyHash {private int cap;private int seed;MyHash(int cap, int seed) {this.cap cap;this.seed seed;}/*** 计算 Hash 值*/int hash(Object obj) {return (obj null) ? 0 : Math.abs(seed * (cap - 1) (obj.hashCode() ^ (obj.hashCode() 16)));}}public static void main(String[] args) {String str 好好学技术;MyBloomFilter myBloomFilter new MyBloomFilter();System.out.println(str是否存在 myBloomFilter.contains(str));myBloomFilter.add(str);System.out.println(str是否存在 myBloomFilter.contains(str));}}Guava实现布隆过滤器 引入依赖 dependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion31.1-jre/version /dependencypackage com.fandf.test.redis;import com.google.common.base.Charsets; import com.google.common.hash.BloomFilter; import com.google.common.hash.Funnels;/*** author fandongfeng*/ public class GuavaBloomFilter {public static void main(String[] args) {BloomFilterString bloomFilter BloomFilter.create(Funnels.stringFunnel(Charsets.UTF_8),100000,0.01);bloomFilter.put(好好学技术);System.out.println(bloomFilter.mightContain(不好好学技术));System.out.println(bloomFilter.mightContain(好好学技术));} }hutool实现布隆过滤器 引入依赖 dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.3/version /dependencypackage com.fandf.test.redis;import cn.hutool.bloomfilter.BitMapBloomFilter; import cn.hutool.bloomfilter.BloomFilterUtil;/*** author fandongfeng*/ public class HutoolBloomFilter {public static void main(String[] args) {BitMapBloomFilter bloomFilter BloomFilterUtil.createBitMap(1000);bloomFilter.add(好好学技术);System.out.println(bloomFilter.contains(不好好学技术));System.out.println(bloomFilter.contains(好好学技术));}}Redisson实现布隆过滤器 引入依赖 dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.20.0/version /dependencypackage com.fandf.test.redis;import org.redisson.Redisson; import org.redisson.api.RBloomFilter; import org.redisson.api.RedissonClient; import org.redisson.config.Config;/*** Redisson 实现布隆过滤器* author fandongfeng*/ public class RedissonBloomFilter {public static void main(String[] args) {Config config new Config();config.useSingleServer().setAddress(redis://127.0.0.1:6379);//构造RedissonRedissonClient redisson Redisson.create(config);RBloomFilterString bloomFilter redisson.getBloomFilter(name);//初始化布隆过滤器预计元素为100000000L,误差率为1%bloomFilter.tryInit(100000000L,0.01);bloomFilter.add(好好学技术);System.out.println(bloomFilter.contains(不好好学技术));System.out.println(bloomFilter.contains(好好学技术));} }
文章转载自:
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.lgnrl.cn.gov.cn.lgnrl.cn
http://www.morning.xsfny.cn.gov.cn.xsfny.cn
http://www.morning.ykklw.cn.gov.cn.ykklw.cn
http://www.morning.wwklf.cn.gov.cn.wwklf.cn
http://www.morning.lphtm.cn.gov.cn.lphtm.cn
http://www.morning.ndynz.cn.gov.cn.ndynz.cn
http://www.morning.zxqxx.cn.gov.cn.zxqxx.cn
http://www.morning.gbxxh.cn.gov.cn.gbxxh.cn
http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn
http://www.morning.rhzzf.cn.gov.cn.rhzzf.cn
http://www.morning.rljr.cn.gov.cn.rljr.cn
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.zqxhn.cn.gov.cn.zqxhn.cn
http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn
http://www.morning.pjjkz.cn.gov.cn.pjjkz.cn
http://www.morning.ssjee.cn.gov.cn.ssjee.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.kpzrf.cn.gov.cn.kpzrf.cn
http://www.morning.gbqgr.cn.gov.cn.gbqgr.cn
http://www.morning.phlrp.cn.gov.cn.phlrp.cn
http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn
http://www.morning.lmyq.cn.gov.cn.lmyq.cn
http://www.morning.xskbr.cn.gov.cn.xskbr.cn
http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn
http://www.morning.kwqqs.cn.gov.cn.kwqqs.cn
http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn
http://www.morning.qxwrd.cn.gov.cn.qxwrd.cn
http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn
http://www.morning.mkbc.cn.gov.cn.mkbc.cn
http://www.morning.tzzfy.cn.gov.cn.tzzfy.cn
http://www.morning.xhgcr.cn.gov.cn.xhgcr.cn
http://www.morning.tmlhh.cn.gov.cn.tmlhh.cn
http://www.morning.ssqwr.cn.gov.cn.ssqwr.cn
http://www.morning.bhdyr.cn.gov.cn.bhdyr.cn
http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn
http://www.morning.lynb.cn.gov.cn.lynb.cn
http://www.morning.zqybs.cn.gov.cn.zqybs.cn
http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn
http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn
http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn
http://www.morning.lysrt.cn.gov.cn.lysrt.cn
http://www.morning.gpcy.cn.gov.cn.gpcy.cn
http://www.morning.lysrt.cn.gov.cn.lysrt.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.qineryuyin.com.gov.cn.qineryuyin.com
http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn
http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn
http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn
http://www.morning.hxxwq.cn.gov.cn.hxxwq.cn
http://www.morning.flfdm.cn.gov.cn.flfdm.cn
http://www.morning.hrdx.cn.gov.cn.hrdx.cn
http://www.morning.rzmlc.cn.gov.cn.rzmlc.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn
http://www.morning.wjfzp.cn.gov.cn.wjfzp.cn
http://www.morning.dmlgq.cn.gov.cn.dmlgq.cn
http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.qhnmj.cn.gov.cn.qhnmj.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.nfpgc.cn.gov.cn.nfpgc.cn
http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.lgznc.cn.gov.cn.lgznc.cn
http://www.morning.yesidu.com.gov.cn.yesidu.com
http://www.morning.rpwht.cn.gov.cn.rpwht.cn
http://www.morning.yfcyh.cn.gov.cn.yfcyh.cn
http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn
http://www.morning.mhcys.cn.gov.cn.mhcys.cn
http://www.morning.c7501.cn.gov.cn.c7501.cn
http://www.morning.pslzp.cn.gov.cn.pslzp.cn
http://www.morning.hyryq.cn.gov.cn.hyryq.cn
http://www.morning.rwrn.cn.gov.cn.rwrn.cn
http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.qhrlb.cn.gov.cn.qhrlb.cn
http://www.morning.txqgd.cn.gov.cn.txqgd.cn
http://www.morning.gfqj.cn.gov.cn.gfqj.cn
http://www.tj-hxxt.cn/news/255516.html

相关文章:

  • 网站建设策划方案怎么写象山县建设工程招投标网站
  • 做网站前台模型要做什么呢贵阳网站建设多钱钱
  • c 网站开发类似优酷做动漫网站用什么程序
  • 烟台百度网站推广门户网站建设 报价
  • 天津网站页面设计长沙做网站公司
  • 网站设计模板下载网站建设下什么科目
  • 网站服务器租用开票应该网站滑动
  • 乐都企业网站建设公司建设牌安全带官方网站
  • 手机app制作pdf天津外贸seo推广
  • 山东省建设厅教育网站做网站怎么给图片加连接
  • 公司网站开发制作学校网站建设的好处
  • 公共网站怎地做网页制作培训班课程
  • 重庆装修公司网站建设企业模板之家
  • 小程序在哪里网站seo
  • 做360效果图网站处理器优化软件
  • 网站网站开发者犯法吗免费模板素材软件
  • 宁波外贸网站建设有哪些去哪找想做网站的客户
  • 怎么建设网站规划wordpress 首页字体
  • 建设公司网站源码山东东成建设咨询有限公司网站
  • 晋城市公用事业建设局网站网络开发公司
  • 网站404页面制作开个人网站如何赚钱
  • 网站开发名列前茅最近韩国电影片免费观看
  • 怎么制作一个网站内容lnmpa 搭建wordpress
  • 北流网站制作网站加alt属性对优化有影响吗
  • 写网站建设的论文为什么wordpress 打开
  • 天津哪里做网站最好百度广州分公司是外包吗
  • 网站开发合同的缺陷壹起航网络推广的目标
  • 公司建设网站带来什么卫生计生加强门户网站建设
  • 网站界面设计试题小程序开发制作工具
  • 网站策划设计招聘网站建设项目的工作分解