FWQ
Redis中Bloomfilter布隆过滤器的学习
Redis中Bloomfilter布隆过滤器的学习 0浏览 收藏 在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《Redis中Bloomfilter布隆过滤器的学习》,聊聊布隆过滤器、RedisBloom、filter,希望可以帮助到正在努力赚钱的你。 1.概念 布隆过滤器是一个高空间利用率的概率性数据结构,主要目的是节省内存空间以及判断一个元素是否存在于一个集合中(存在误判的情况),可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判。但是布隆过滤器也不是特别不精确,只要参数设置的合理,它的精确度可以控制的相对足够精确,只会有小小的误判概率(控制参数:error_rate-误判率 initial_size-初始容量) error_rate越小,越精确,需要的空间越大 initial_size越大,越精确,当实际数量超出这个数值时,误判率会上升 布隆过滤器可以判断某个数据一定不存在,但是无法判断一定存在 2.guava实现 2.1.依赖 com.google.guava guava 19.0 2.2.初始化布隆过滤器 //初始化布隆过滤器,放入到spring容器里面 @Bean public MyBloomFilter initBloomFilterHelper()…