RedisBloom教程

RedisBloom扩展了Redis核心,以支持额外的概率数据结构。它允许在固定的内存空间中以极快的处理速度和极低的错误率解决计算机科学问题。它支持可扩展的Bloom和Cuckoo过滤器,以确定(具有指定的确定性程度)某个项是否存在于集合中。

RedisBloom模块提供了四种数据类型:

  • 布鲁姆过滤器:一种可以测试存在的概率数据结构。Bloom过滤器是一种数据结构,旨在快速、高效地告诉您某个元素是否存在于集合中。当插入项时,Bloom过滤器通常表现出更好的性能和可伸缩性(所以如果你经常向数据集添加项,那么Bloom可能是理想的)。
  • 布谷鸟滤镜:布鲁姆滤镜的另一种选择,布谷鸟滤镜附带了从集合中删除元素的额外支持。这些过滤器在检查操作上更快。
  • 计数分钟示意图:计数分钟示意图通常用于确定流中事件的频率。您可以查询计数分钟示意图,以获得任何给定事件的频率的估计。
  • top -k: RedisBloom中的top -k概率数据结构是一种确定性算法,它近似于前k项的频率。使用Top-K,当元素进入或从Top-K列表中删除时,您将得到实时通知。如果一个元素add-命令进入列表,将返回被删除的元素。

步骤1。注册和订阅

遵循注册链接并订阅Redis企业云万博体育彩

Redisbloom

步骤2。用RedisBloom模块创建一个数据库

Redisbloom

步骤3。连接到数据库

遵循链接以了解如何连接到数据库

步骤4。开始使用RedisBloom

在接下来的步骤中,您将使用一些基本的RedisBloom命令。您可以从Redis命令行界面(Redis - CLI)或使用RedisInsight中可用的CLI来运行它们。(请参阅本教程的第2部分,了解更多关于使用RedisInsight CLI的信息。)要想和RedisBloom互动,你需要男朋友。添加和男朋友。存在的命令。

让我们继续测试驱动一些特定于redisbloom的操作。我们将创建一个基于独立访问者的IP地址的基本数据集,你将看到如何:

  • 创建Bloom过滤器
  • 确定Bloom筛选器中是否存在项
  • 向Bloom筛选器添加一个或多个项目
  • 确定是否存在唯一访问者的IP地址

让我们一步一步地走一遍这个过程:

创建Bloom过滤器

使用高炉。ADD命令为Bloom过滤器添加一个唯一的访问者IP地址,如下所示:

> >的男朋友。添加unique_visitors 10.94.214.120
(整数)1
(1.75秒)

确定项目是否存在

使用高炉。EXISTS命令,以确定Bloom过滤器中是否存在项目:

> >的男朋友。存在unique_visitors 10.94.214.120
(整数)1
> >的男朋友。存在unique_visitors 10.94.214.121
(整数)0
(1.46秒)

在上面的例子中,第一个命令将结果显示为“1”,表示该项可能存在,而第二个命令显示为“0”,表示该项肯定不存在。

向Bloom筛选器添加一个或多个项目

使用高炉。MADD命令向Bloom筛选器添加一个或多个项,如果筛选器还不存在,则创建该筛选器。该命令的操作与BF相同。ADD,除了它允许多个输入和返回多个值:

> >的男朋友。MADD unique_visitors 10.94.214.100 10.94.214.200 10.94.214.210 10.94.214.212
1)(整数)1
2)(整数)1
3)(整数)1
4)(整数)1

如上所示,BF。MADD允许您将一个或多个访问者的IP地址添加到Bloom过滤器。

确定是否存在唯一访问者的IP地址

高炉使用。MEXISTS来确定过滤器中是否存在一个或多个项目:

> >的男朋友。MEXISTS unique_visitors 10.94.214.200 10.94.214.212
1)(整数)1
2)(整数)1
> >的男朋友。MEXISTS unique_visitors 10.94.214.200 10.94.214.213
1)(整数)1
2)(整数)0

在上面的示例中,第一个命令将两个访问者的IP地址的结果显示为“1”,表明这些项确实存在。第二个命令为其中一个访问者的IP地址显示“0”,表示该项目肯定不存在。

下一个步骤

Baidu