1 个不稳定版本
0.1.0 | 2024 年 1 月 9 日 |
---|
#1869 在 数据库接口
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