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

深圳做网站(官网)找文网优化服务

深圳做网站(官网),找文网优化服务,简历在线制作网站免费,做织带的网站redis 实现布隆过滤器实现方法: 1、redis 的 setbit 和 getbit 特点:对于某个bit 设置0或1,对于大量的值需要存储,非常节省空间,查询速度极快,但是不能查询整个key所有的bit,在一次请求有大量…

redis 实现布隆过滤器实现方法:

1、redis 的 setbit 和 getbit

特点:对于某个bit 设置0或1,对于大量的值需要存储,非常节省空间,查询速度极快,但是不能查询整个key所有的bit,在一次请求有大量的值需要过滤的场景会出现多次请求getbit,性能会急剧下降,需要把多个gitbit合并成批次,使用lua脚本或者pipeline执行提高效率。

2、redis 的 BF.RESERVE,BF.MADD和 BF.MEXISTS

特点:redis 4.0 以上官方提供的一个插件,原生Bloom过滤器,参数包括 布隆过滤器的大小,误差率等,支持批量写入和批量查询,性能更优,针对一次大量请求,批量查询接口性能更快。

以上两种布隆过滤器性能测试结果对比:

硬件:单节点 redis,2G内存,2核cpu

测试条件:布隆过滤器容量都是 10000,容错率都是:0.001, 场景:一次请求需要过滤10000个id,每100个批量查询一次redis, 如此循环 10次。

序号redis setbit getbit(时延单位:毫秒)redis BF.RESERVE,BF.MADD和 BF.MEXISTS (时延单位:毫秒)
115561238
214751164
31734989
430341701
515321254
615791179
715411177
815671045
916981216
1016891275
平均1740.51223.8

3、基于以上的测试结果,如果一次推荐请求用户已经看过10000个视频,需要过滤10000个视频,时延会上涨到秒级以上,这样对于高并发情况性能是不行的,还有其他的办法嘛? 能不能一次性把整个布隆过滤器读到本地再进行过滤?

在推荐场景,布隆过滤器设置了容量5000个,容错率是0.001,布隆过滤器的最大值为:17972 byte,约 17K,如果每次写入和查询都查询整个布隆过滤器,1000qps 占用的网络带宽为: 13.92 Mbps。

测试可行性:本地构造一个布隆过滤器对象 BitSet,BitSet的最大值是int的最大,从redis查询出来序列化成BitSet对象,再进行读写操作,如果是写操作,再序列化写入redis。

private BitSet get(long userId) {String key = TestBloomP.getBitMapKey(userId, "111");log.info("get bitset key:{}", key);return (BitSet) redisTemplate.opsForValue().get(key);
}private void add(long userId, List<Long> filterItems) {BitSet bitSet = new BitSet();for (Long item : filterItems) {String uniqueKey = userId + ":" + item;List<Integer> offsets = TestBloomP.getOffsets(uniqueKey);for (Integer offset : offsets) {bitSet.set(offset);}}String key = TestBloomP.getBitMapKey(userId, "111");log.info("add bitset key:{}, size:{}", key, bitSet.size());redisTemplate.opsForValue().set(key, bitSet);
}

redis 使用java默认的序列化工具JdkSerializationRedisSerializer,测试结果 如下:写操作会先读再写 时延都是很低:

add bitset key:shop_video:filter_exposed:1607433260630157, size:143808, add count:1, time:36
get bitset time:9, bitset :143808

http://www.laogonggong.com/news/84860.html

相关文章:

  • 静态网站说明书硬件开发平台
  • 网站开发补充合同网站做图片
  • 图片模板网站百度小程序开发工具
  • 网站地图优化外贸网站制作哪家好
  • 网站制作的评价指标秦皇岛建设规划局
  • 佛山网站的优化跳舞游戏做的广告视频网站
  • 如何创建一个网站的步骤太原网站建设推广
  • 做网站注册验证码视频素材网站建设
  • 网络公司制作网站seo网站优化专员
  • 网站模板怎么做视频教程金阊公司网站建设电话
  • dede可以做购物网站吗免费源码html网站
  • 安徽网站设计企业管理咨询类公司
  • 建设部标准定额司网站女装网站建设规划书怎么写
  • 兰州需要做网站的公司有哪些开发app需要什么技术人才
  • 电子商务网站推广主要方式高端品牌护肤品有哪些
  • 珠海cp网站建设江西短视频搜索seo哪家好
  • 芮城做网站的机构制作手机app开发
  • 郑州高端建站公司做网站不切片可以吗
  • 网站seo方案dede后台网站主页
  • 网站推广软件免费版下载住房和建设部网站首页
  • 郑州手机网站推广公司美的网站建设水平swot分析
  • 营销网站搭建建议中国建设银行网站首页怎么销户
  • 网站怎么重装wordpresswordpress怎么增加字段
  • 刷单类网站开发wordpress 分类目录 子目录
  • dw做的网站如何上传云服务器免费咨询的图片
  • wordpress 微信导航站厦门网格员
  • 网站开发费属于研发费用吗wordpress添加+下载
  • 0基础做下载网站郑州个人网站建设公司排行榜
  • 网站制作怎么添加图片中信建设有限责任公司陶扬
  • 怎么自己做网站链接网站广告推广方案