redis布隆过滤器实测

业务场景描述

有一批定向用户,要求活动只有这部分用户可以看到和参与,其他用户看不到,也无法完成。

量级

100万定向,200万总量

技术方案一:

使用布隆过滤器,提前初始化

每个用户查询活动时,利用布隆过滤器判断是否需要给他展示

技术方案二:

使用redis的set

每个用户查询活动时,利用set.contains判断

经过实测

方案一:

遍历单条插入:

布隆过滤器,初始化数据时消耗redis大量cpu,百万级要几个小时。

查询很快。

批量插入:由于redisson框架没有提供批量插入布隆过滤器数据的api,未测试。

方案二

遍历单条插入:

set,初始化只要几分钟。

查询很快。

批量插入:

100万一把调用set的addAll,调用失败。

1000个一批,调用成功,且只要几秒。

 

结论

在百万级数据,且一次性初始化时,redis的set比布隆过滤器优势明显。

布隆过滤器适用的场景,应该是更大数据量级,且最好插入操作是平缓的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxr1908

用钱砸我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值