这不是一篇搭建教程,因为用Redis实现布隆过滤器很简单,Redis本身就支持bitmap这种数据结构,通过setbit和getbit即可实现一个Bloom Filter。本文要讨论的是测试过程中,或者出问题时,要怎么优雅的把数据清除。

Java本身有bitSet这种数据结构来支持布隆过滤器,而如果要清除的话,重启服务器,或者自身方法的clear()都可以。然而在序列化的数据库中,一旦存入成千上万个位数据到Redis后,千万不要期待使用循环的方式一一清空bitmap的数据,当然有一种非常简单粗暴,那就是flashdb!!

这里想提出的是最简单,然而我以前居然没想到的方法。那就是给bitmap的key设置过期时间,只要执行

EXPIRE "bitmap的key值" 0

那么这个bitmap的所有已设置的位就能都清空了!!执行时间不超过1秒。这算是过期时间的一个妙用吧,以前一直都只是简单的当成过期时间而已,没想到在删除数据方面非常高效。

Redis实现的布隆过滤器如何快速有效删除数据相关推荐

  1. 布隆过滤器 redis_使用基于 Redis 的 Java 布隆过滤器

    (给数据分析与开发加星标,提升数据技能) 转自:ImportNew 布隆过滤器是一种概率数据结构,用来高效地测试集合中是否存在某个元素.使用布隆过滤器有助于减少在磁盘中查找键值的次数,从而降低开销. ...

  2. 这些知识点你会吗?redis的分布式布隆过滤器含答案解析

    问题 老顾先来举个常会问到的面试题:现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在? 上面的问题可以细化一下,也就是50亿个电话号码在数据库中,现在要快速.准 ...

  3. Redis的分布式布隆过滤器是什么原理?

    [原创] 老顾聊技术 2020-08-07 23:01:58 欢迎关注头条号:老顾聊技术 精品原创技术分享,知识的组装工 问题 老顾先来举个常会问到的面试题:现有50亿个电话号码,现有10万个电话号码 ...

  4. redis布隆过滤器PHP,Redis 中的布隆过滤器

    什么是『布隆过滤器』 布隆过滤器是一个神奇的数据结构,可以用来判断一个元素是否在一个集合中.很常用的一个功能是用来去重.在爬虫中常见的一个需求:目标网站 URL 千千万,怎么判断某个 URL 爬虫是否 ...

  5. Redis进阶:布隆过滤器(Bloom Filter)及误判率数学推导

    1 缘起 有一次偶然间听到有同事在说某个项目中使用了布隆过滤器, 哎呦,我去,我竟然不知道啥是布隆过滤器, 这我哪能忍?其实,也可以忍,但是,可能有的面试官不能忍!!! 于是,查询了布隆过滤器的相关知 ...

  6. 布隆过滤器速度_5 分钟搞懂布隆过滤器,过滤亿级数据

    在程序的世界中,布隆过滤器是程序员的一把利器,利用它可以快速地解决项目中一些比较棘手的问题.如网页 URL 去重.垃圾邮件识别.大集合中重复元素的判断和缓存穿透等问题. 布隆过滤器(Bloom Fil ...

  7. 第六章 商品详情进阶 + redis分布式锁 + redis问题解决 + redisson + 布隆过滤器

    一.商品详情页面优化 1.1 思路 虽然咱们实现了页面需要的功能,但是考虑到该页面是被用户高频访问的,所以性能需要优化. 一般一个系统最大的性能瓶颈,就是数据库的io操作.从数据库入手也是调优性价比最 ...

  8. 三种去重方式——HashSet、Redis去重、布隆过滤器(BloomFilter)

    三种去重方式 去重就有三种实现方式,那有什么不同呢? HashSet 使用java中的HashSet不能重复的特点去重.优点是容易理解.使用方便. 缺点:占用内存大,性能较低. Redis去重 使用R ...

  9. 13.Redis系列之布隆过滤器

    本文讲解redis中海量数据去重利器布隆过滤器Bloom Filter,强烈建议先全文大概浏览一遍在进行操作,里面笔者遇到的坑大都记录了 1. windows安装make命令 如果想获取make编译好 ...

最新文章

  1. RabbitMQ 如何消息生产者producer发送给RabbitMQ服务器broker?
  2. AI圈真魔幻!谷歌最新研究表明卷积在NLP预训练上竟优于Transformer?LeCun暧昧表态...
  3. 大专计算机单招有哪些,大专单招和统招的区别有哪些
  4. 01-复杂度3 二分查找
  5. MobileIMSDK连接后频繁掉线重连,提示会话超时失效,对方非正常退出或网络故障
  6. java this.name= name_thread(this, ThreadName)对于Java中这个语句,this是什么?
  7. 如何在PHP中实现链式方法调用
  8. Python编写俄罗斯方块小游戏
  9. 阅读笔记-游戏开发中的人工智能-第6章-基本路径寻找及航点应用
  10. [POJ 1006] 生理周期
  11. 装系统提示缺少计算机所需的介质驱动程序,win8系统UEFi安装提示“缺少计算机所需的介质驱动程序”的图文步骤...
  12. sql 恢复刚删除的表
  13. CentOS7常用软件安装配置说明
  14. html dt和dd顺序,dl dt dd使用方法
  15. Random + Scanner 场景试炼
  16. 内网穿透工具Ngrok
  17. 目前微型计算机主要采用电子原件是,目前,个人计算机使用的电子元器件主要是()。...
  18. unity开发 可使用Steam的Liv软件录制VR绿幕视频
  19. 【转】如何管理PDF书签:Foxit、PDF XChange、PDF补丁丁
  20. 大厂面试机器学习算法(0):特征工程 | 数据预处理

热门文章

  1. 思考总结:领域知识图谱平台构建与业务应用
  2. 哈夫曼编码树的经典题目
  3. 2018安卓面试经历
  4. spss分析方法-单样本K-S检验(转载)
  5. matlab中不同数据点的动态显示并生成gif图片
  6. 最新 PhpStorm 2018 安装及破解方法
  7. android怎么加矩形框,Android shape 矩形框子
  8. CPU大小端模式对C语言底层开发的影响
  9. 程序员的算法趣题Q67: 不挨着坐是一种礼节吗?
  10. Replicator简介