假设每天都会有不少于1000000个唯一标识码进来系统,标识码组成结构是字符串+数字+下划线,形如"ua_124wtybmlo_cfk"。
现在需求是要判断某一个标识码三天内有没有在系统出现过。
如果用有效期是3天的string结构来存储每一个标识码,那么一天要有1000000+个string 类型的key,这样会非常消耗内存。
如果要优化的话,目前只能想到改为哈希结构+分片来存储,主要是分片策略不知如何制定。
不知道有没有哪位大神有什么好的方案?或者如果有其他好的优化方式也可以提出来。
感谢~
迷茫2017-04-25 09:04:39
假设一个 key-value 占用32字节,3天也才90M,这算非常消耗内存?
如果真的很在乎内存,又可以忽略一定的正确性的话,可以考虑使用布隆过滤器。