文章 62
浏览 15135
布隆过滤器使用

布隆过滤器使用

什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由布隆提出的。 它实际上是一个很长的二进制向量 和一系列随机映射函数 。 布隆过滤器可以用于检索一个元素是否在一个集合中 。 它的优点是空间效率和查询时间都比一般的算法要好的多 ,缺点是有一定的误识别率和删除困难。 上面这句话可以理解为:有个二进制的集合 ,里面存放的0和1,0代表不存在,1代表存在,可以通过一些定义好的方法 快速判断元素是否在集合中。内部逻辑如下图展示 布隆过滤器有哪些作用 由于布隆过滤器的特性,能够判断一个数据可能在集合中 ,和一个数据绝对不在集合中 ,所以他可以用于以下场景 网页URL的去重(爬虫,避免爬取相同的 URL 地址) 垃圾邮件的判别 集合重复元素的判别 查询加速(比如基于key-value的存储系统) 数据库防止查询击穿,使用 BloomFilter 来减少不存在的行或列的磁盘查找(缓存穿透 )。 ... 演示一下布隆过滤器的用法 如何解决布隆过滤器无法删除数据的问题 升级版的布隆过滤器(Coun....

docker安装mongo

docker安装mongo

Docker 安装 MongoDB 查看可用版本 docker search mongo 取最新版的 MongoDB 镜像 docker pull mongo:latest 查看本地镜像 docker images 运行容器 docker run -itd --name mongo -p 27017:27017 mongo --auth 参数说明 -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。 --auth :需要密码才能访问容器服务 安装成功 可以通过 docker ps 命令查看容器的运行信息 $ docker exec -it mongo mongo admin # 创建一个名为 admin,密码为 123456 的用户。 > db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatab....

02-Redis持久化、主从与哨兵架构详解

02-Redis持久化、主从与哨兵架构详解

Redis持久化 RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。 比如说, 以下设置会让 Redis 在满足“ 60 秒内有至少有 1000 个键被改动”这一条件时, 自动保存一次数据集 save 60 1000 //关闭RDB只需要将所有的save保存策略注释掉即可 还可以手动执行命令生成RDB快照,进入redis客户端执行命令save或bgsave可以生成dump.rdb文件,每次命令执行都会将所有redis内存快照到一个新的rdb文件里,并覆盖原有rdb快照文件。 bgsave的写时复制(COW)机制 Redis 借助操作系统提供的写时复制技术(Copy-On-Write, COW),在生成快照的同时,依然可以正常处理写命令。简单来说,bgsave 子进程是由主线程 fork 生成的,可以共享主线程的所有内存数据。bgsave 子进程运行后,开始读取主线程的内存数据,并把它们写入 RD....

01-Redis核心数据结构与高性能原理

01-Redis核心数据结构与高性能原理

Redis安装 下载地址:http://redis.io/download 安装步骤: # 安装gcc yum install gcc # 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar -zxvf redis-5.0.3.tar.gz cd redis-5.0.3 # 进入到解压好的redis-5.0.3目录下,进行编译与安装 make # 修改配置 daemonize yes #后台启动 protected-mode no #关闭保护模式,开启的话,只有本机才可以访问redis # 需要注释掉bind #bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可) # 启动服务 src/redis-server redis.conf # 验证启动是否成功 ps -ef | grep redis # 进入....

我在 GitHub 上的开源项目

我在 GitHub 上的开源项目

datax_parquet Java 🤩1  ⭐️1  🖖0 自定义二次开发datax,增加两个插件 支持parquet读写和支持同步hive,自动创建分区文件夹刷新msck分区信息 2. hdfs-demo Java 🤩1  ⭐️0  🖖0 主要是测试hdfs多线程分块上传和单线程上传整个文件差异 3. DataX-master Java 🤩1  ⭐️0  🖖0 4. drow Java 🤩1  ⭐️0  🖖0 5. es_demo Java 🤩1  ⭐️0  🖖0 用于java爬虫结合elastic_search做的实战demo 6. leetcode Java 🤩1  ⭐️0  🖖0 7. health JavaScript 🤩1  ⭐️0  🖖0 8. 24478501.......

人民有信仰 民族有希望 国家有力量