redis信息如何存储

假设每天都会有不少于1000000个唯一标识码进来系统,标识码组成结构是字符串+数字+下划线,形如"ua_124wtybmlo_cfk"。

现在需求是要判断某一个标识码三天内有没有在系统出现过。

如果用有效期是3天的string结构来存储每一个标识码,那么一天要有1000000+个string 类型的key,这样会非常消耗内存。

如果要优化的话,目前只能想到改为哈希结构+分片来存储,主要是分片策略不知如何制定。

不知道有没有哪位大神有什么好的方案?或者如果有其他好的优化方式也可以提出来。
感谢~

阅读 2.2k
1 个回答

假设一个 key-value 占用32字节,3天也才90M,这算非常消耗内存?

如果真的很在乎内存,又可以忽略一定的正确性的话,可以考虑使用布隆过滤器。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题