1千w移动设备以及设备模型分各种方式存储到redis实际占用内存大小

1千w移动设备数据以及设备分存储到redis (以安卓为例:IDFA_MD5、OAID_MD5、ANDROID_ID_MD5 总设备码MD5约3000w)实际占用内存

string key value值存储大小(存20个不同来源模型分)

格式1 5.17G

string key 为两种md5拼接之后的20位字符串 
value为20个设备分平铺的字符串

格式2 6.42G

String key MD5code
value json(当前fieldvalue josn)

hash结构存储大小,改成char数组后存储大小

hash结构大小(存20个不同来源模型分) 3.04G

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source crc32之后的10位int
fieldvalue protobuf

10w bucket +hash结构优化(存 3个模型分) 存储大小 785M

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source murmur32之后的10位int
fieldvalue 优化

10w bucket +hash结构优化(存 20个模型分) 存储大小 1.54G

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source murmur32之后的10位int
fieldvalue 优化

少量分桶,直接用hashtable存储大小 4.95G

3个分桶 
key MD5code crc32之后的10位int 对3取模
fieldkey MD5code+:+source crc32之后的10位int
fieldvalue protobuf

你可能感兴趣的:(redis,缓存)