Chinaunix首页 | 论坛 | 博客
  • 博客访问: 754253
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1590
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(124)

文章存档

2020年(22)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: NOSQL

2020-05-03 20:53:23

今天说一下redis当中的布隆过滤器
布隆过滤器简单说就是你给一个值,它可以告诉你是一定存在或者可能存在。当它说这东西不在的时候,一定是不存在的;但是如果说在的话,这种东西就不一定存在。
其应用场景通常是当线上服务降级,进行简单的权限验证的时候
其原理简单说就是位操作,具体如下:
redis当中的布隆过滤器的底层实现就是一个很大的数组和n多个哈希函数
当向指定的key中添加指定的val时,redis会用多个哈希函数来对val取值
对于每一个hash值,将其映射到底层位数组当中不同的位上,并置1、
当查询的时候执行的操作也是类似的,当val所有hash值都为1的时候,表示这个val可能存在;但是当有一个hash值的底层数组不全为1时,这个val肯定不存在


由于其有可能误判,redis里面可以通过如下命令进行精度限定:
bf.reserve key  error_rate   capacity
阅读(1112) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~