1、 Bloom Filter
- 缺点:只能增不能减,且有误判场景需要单独处理
- 可以使用当前进程级的Bloom Filter,也可以使用Redis的Bloom Filter
2、 文件存储
可以使用类似Java的MappedByteBuffer来保存数据
缺点:只能保存连续的一定范围的数字对应的值
使用示例:
1 | import org.junit.Test; |
3、Tendis
- 使用tendis可以将数据存储到磁盘,避免全部数据都保存在内存,从而节约内存
- Redis的痛点之一就是内存成本高,访问频率(QPS)没那么高, 依然占用大量机器, 维护成本很高
- Redis vs Tendis:冷热混合存储版架构揭秘
- 使用 rocksdb 作为存储引擎, LSM Tree