十分钟全面了解Redis
https://mp.youkuaiyun.com/mp_blog/creation/editor/125348243
目录
在使用Redis作为缓存服务的时候存在缓存穿透问题,可以使用布隆过滤器解决这样的问题,那么什么是布隆过滤器,如何在代码中使用?本文就主要解决这些问题。
一、布隆过滤器原理
布隆过滤器(Bloom Filter)的核心实现是一个超大的长度为m的位数组和k个哈希,当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了:如果这些点有任何一个0,则被检元素一定不在;如果都是1,则被检元素很可能在。

二、Redis中布隆过滤器
redis 在 4.0 的版本中加入了 module 功能,布隆过滤器可以通过 module 的形式添加到 redis 中,所以使用 redis 4.0 以上的版本可以通过加载 module 来使用 redis 中的布隆过滤器。
相关文档参考:https://github.com/RedisBloom/RedisBloom
2.1、主要命令
| 命令 | 说明 |
| BF.RESERVE <key> <error_rate> <capacity> | 创建一个大小为capacity,错误率为error_rate的空的布隆过滤器 |
| BF.ADD <key> <item> | 在key指定的布隆过滤器中添加一个元素 |
| BF.MADD <key> <item> [item...] | 在key指定的布隆过滤器中添加一个元素或多个元素 |
Redis布隆过滤器实战

本文介绍了布隆过滤器的原理及其在Redis中的应用。针对Redis 4.0及以上版本,详细阐述如何通过模块功能使用布隆过滤器,并且重点讲解了如何利用Lettuce自定义命令接口来操作RedisBloom,包括声明接口、定义方法、参数指定和代码示例,以解决缓存穿透问题。
最低0.47元/天 解锁文章
7861

被折叠的 条评论
为什么被折叠?



