1 个不稳定版本

0.1.0 2024 年 1 月 9 日

#1869数据库接口

MIT 许可证

42KB
1K SLoC

single_filter

过滤重复键

快速入门

在分布式环境中,过滤单个键。

    let strategy =
        BloomExpandStrategy::build_from_redis("biz02", "redis://:[email protected]/")
            .unwrap();
    let pool = FiltersPool::from(strategy);

    let exists = pool.contain("user001","key001".into()).await.unwrap();
    assert_eq!(exists,false);
    pool.insert("user001","key001".into()).await.unwrap();
    let exists = pool.contain("user001","key001".into()).await.unwrap();
    assert_eq!(exists,true);

批量处理

在推荐系统中,您可以批量调用系统,但此方法对同一组存在并发问题。

pool.batch_contain(group, keys).await.unwrap();

pool.batch_insert(group, keys).await.unwrap();

扩展策略

  • set_strategy_fixed : 扩展到固定大小
  • set_strategy_ladder : 使用固定策略来扩展容量
  • set_strategy_function : 用户自定义扩展模式

其他

gRPC 服务和 Docker 镜像需要改进

依赖项

~19–30MB
~546K SLoC