跳转到主要内容

RedisBloom Python客户端

项目描述

license PyPI version CircleCI GitHub issues Codecov Known Vulnerabilities Total alerts

RedisBloom的Python客户端

Forum Discord

redisbloom-py是一个包,它为开发人员提供了访问几个概率数据结构的简单途径。该包通过RedisBloom的API扩展了redis-py的接口。

安装

$ pip install redisbloom

使用示例

# Using Bloom Filter
from redisbloom.client import Client
rb = Client()
rb.bfCreate('bloom', 0.01, 1000)
rb.bfAdd('bloom', 'foo')        # returns 1
rb.bfAdd('bloom', 'foo')        # returns 0
rb.bfExists('bloom', 'foo')     # returns 1
rb.bfExists('bloom', 'noexist') # returns 0

# Using Cuckoo Filter
from redisbloom.client import Client
rb = Client()
rb.cfCreate('cuckoo', 1000)
rb.cfAdd('cuckoo', 'filter')        # returns 1
rb.cfAddNX('cuckoo', 'filter')      # returns 0
rb.cfExists('cuckoo', 'filter')     # returns 1
rb.cfExists('cuckoo', 'noexist')    # returns 0

# Using Count-Min Sketch
from redisbloom.client import Client
rb = Client()
rb.cmsInitByDim('dim', 1000, 5)
rb.cmsIncrBy('dim', ['foo'], [5])
rb.cmsIncrBy('dim', ['foo', 'bar'], [5, 15])
rb.cmsQuery('dim', 'foo', 'bar')    # returns [10, 15]

# Using Top-K
from redisbloom.client import Client
rb = Client()
rb.topkReserve('topk', 3, 20, 3, 0.9)
rb.topkAdd('topk', 'A', 'B', 'C', 'D', 'E', 'A', 'A', 'B',
                   'C', 'G', 'D', 'B', 'D', 'A', 'E', 'E')
rb.topkQuery('topk', 'A', 'B', 'C', 'D')    # returns [1, 1, 0, 1]
rb.topkCount('topk', 'A', 'B', 'C', 'D')    # returns [4, 3, 2, 3]
rb.topkList('topk')                         # returns ['A', 'B', 'E']
rb.topkListWithCount('topk')                # returns ['A', 4, 'B', 3, 'E', 3]

API

关于RedisBloom命令的完整文档,请参考RedisBloom网站

许可证

BSD 3-Clause

开发

  1. 创建一个virtualenv来管理您的Python依赖项,并确保它处于活动状态。 virtualenv -v venv
  2. 安装pypoetry来管理您的依赖项。 pip install poetry
  3. 安装依赖项。 poetry install

tox 将所有测试作为默认目标运行。直接运行 tox 将运行单元测试。请确保 Redis 正在运行,并且已加载该模块。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

redisbloom-0.4.1.tar.gz (9.5 kB 查看哈希值)

上传时间 源代码

构建分发

redisbloom-0.4.1-py3-none-any.whl (8.3 kB 查看哈希值)

上传时间 Python 3