首页 > 其他分享 >布隆过滤器

布隆过滤器

时间:2023-12-05 23:57:50浏览次数:29  
标签:几十 元素 布隆 user 过滤器 juejin

引言

面试题
如何在10e的数据中,检查用户是否存在?

朴素方法:
在数据库里直接查,虽然可以建索引,10亿级的数据索引树也大的不得了。这种方式惠产生性能问题,加剧数据库的负载。

select count(1) from user_info where user_id = GGJHAGJH123123123123;

缓存方法:

SISMEMBER user_id_key GGJHAGJH123123123123

这个快是快,但是多少都得吃个几十G内存。
不过话又说回来,就算小公司,加个几十G内存也不算事。
不过话又说回来,作为一个开发工程师,要有追求,这么点事吃个几十G,都够跑一个大业务系统了。

布隆过滤器:
布隆过滤器的原理是,当一个元素被加入集合时,通过 K 个散列函数将这个元素映射成一个位数组中的 K 个点(offset),把它们置为 1。检索时,我们只要看看这些点是不是都是 1 就(大约)知道集合中有没有它了:如果这些点有任何一个 0,则被检元素一定不在;如果都是 1,则被检元素很可能在。这就是布隆过滤器的基本思想。

[1] https://juejin.cn/post/7038779056996745224
[2] https://juejin.cn/post/7293786247655129129

标签:几十,元素,布隆,user,过滤器,juejin
From: https://www.cnblogs.com/markseven/p/17878629.html

相关文章

  • 算法~布隆过滤器
    布隆过滤器(BloomFilter)是一种高效的概率数据结构,用于判断一个元素是否存在于集合中。它基于位数组和多个哈希函数,并具有以下特点:BloomFilter是一个基于概率的数据结构:它只能告诉我们一个元素绝对不在集合内或可能在集合内快速查询:布隆过滤器具有快速查询的特性。它使用多......
  • 【ASP.NET Core】MVC过滤器:常见用法
    前面老周给大伙伴们演示了过滤器的运行流程,大伙只需要知道下面知识点即可:1、过滤器分为授权过滤、资源访问过滤、操作方法(Action)过滤、结果过滤、异常过滤、终结点过滤。上一次咱们没有说异常过滤和终结点过滤,不过老周后面会说的。对这些过滤器,你有印象就行了。2、所有过滤器接......
  • [Vue] vue学习笔记(5): 过滤器
    关于过滤器注册过滤器:Vue.filter(name,callback)或newVue({filters:{...}})使用过滤器:{{xxx|filter_name}}或v-bind:www="xxx|filter_name"过滤器可以接受除过滤对象以外的其他参数,也可以多个过滤器串联过滤器不会改变原本的数据,而是产生新的数据示例以将js时......
  • URL绕过-后缀路径模式匹配设置错误绕过过滤器
    @ConfigurationpublicclassUrlMatchConfigextendsWebMvcConfigurationSupport{@OverridepublicvoidconfigurePathMatch(PathMatchConfigurerconfigurer){//setUseSuffixPatternMatch后缀模式匹配,如果设置为true,路径后面不管多少个//都能匹配......
  • 自定义标签和过滤器
    1自定义过滤器 -第一步:在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag-第二步:在app中创建templatetags包(包名只能是templatetags,不能改)-第三步:在包内,新建py文件(如:my_tags.py)-第四步:写代码(过滤器) fromdjangoimporttemplate......
  • 【ASP.NET Core】MVC过滤器:运行流程
    MVC的过滤器(Filters)也翻译为“筛选器”。但是老周更喜欢翻译为“过滤器”,意思上更好理解。既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊处理的类型。比如:a、此调用是否已授权?b、在模型绑定之前要不要修改数据源?(可能含有儿童不宜的数据)c、在调用MVC方法前要不要改一......
  • Spring 中的拦截器、过滤器有什么区别,有什么关系吗
    在Spring框架中,拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,它们在框架中的作用和实现方式略有不同。拦截器(Interceptor):拦截器是Spring框架提供的一种机制,用于拦截HTTP请求的处理过程。在SpringMVC中,拦截器是基于HandlerInterceptor接口实现的,它可以在请求的处理过程中......
  • 过滤器与拦截器
    在开发Web应用时,我们经常需要在请求被处理之前或之后执行一些操作,例如检查用户的身份、记录日志、修改请求或响应等。为了实现这些功能,我们可以使用过滤器(Filter)和拦截器(Interceptor)。本文将详细介绍过滤器和拦截器的相同与不同之处。1.过滤器与拦截器的定义1.1过滤器过滤器......
  • 微服务 过滤器链执行顺序
       ......
  • 微服务 Gateway 网关——全局过滤器
     代码步骤: ①网关模块里创建一个类并实现GlobalFilter接口  @Order(-1)//值越小,优先级越高。也可以实现Ordered接口指定优先级@Component//注入到Spring容器publicclassAuthorizeFilterimplementsGlobalFilter{@OverridepublicMono<Void>filt......