Home
Sign Up
Sign In
V2EX
›
问与答
关于 bitmap 持久化的一点疑惑
funky
·
Jun 30, 2018
· 3571 views
This topic created in 2987 days ago, the information mentioned may be changed or developed.
现在情况是采用 redis bitmap 作为分析用户维度的一种手段。key 是表示该维度,value 表示 uid 的 bitmap
但是随着时间推移,bitmap 会越来越多,是否能将 bitmap 持久化之后转存文件而不占用 redis 内存,需要查询的时候再从文件 load 进内存?
bitmap
持久化
Redis
维度
7 replies
•
2018-06-30 19:28:59 +08:00
1
funky
OP
Jun 30, 2018
或者说那种数据库支持这种数据结构?
2
teleme
Jun 30, 2018 via Android
@
funky
按照这个设计思路内存应该足够用了。因为每个 bitmap 的长度是最大的 uid。总内存占用是非常可控的。
3
teleme
Jun 30, 2018 via Android
@
funky
持久化的话,bitmap 读成 buffer,然后 gzip 一下当文件存
4
funky
OP
Jun 30, 2018
@
teleme
是的,但是架不住 N 多个需要分析的维度,每个 bitmap 占不到 1M,
5
ywind
Jun 30, 2018 via Android
@
funky
能接受有误差的话,可以考虑一下布隆过滤器,数据可以更小一点。
6
des
Jun 30, 2018 via Android
直接存数据库 blob
postgre 应该有插件可以直接读,冷数据这样存是个不错的主意
还有,直接存文件不是个好主意
7
teleme
Jun 30, 2018
@
funky
我的一点看法是,维度是不是需要考虑时间单位,如果有时效性的话,bitmap key 设置 expire 这样,redis 可以把内存维护得非常稳定。历史冷数据的持久化,可以考虑 S3 或者 OSS 这类云服务。
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
5995 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 0c620bea · 33ms ·
UTC 02:29
·
PVG 10:29
·
LAX 19:29
·
JFK 22:29
♥ Do have faith in what you're doing.
❯