存储1亿个键值对

时间:2017-08-28 12:25:26

标签: scalability

我有一个包含1亿个整数键值对的静态列表。我需要对这些数据每秒做大约500次获取。如果我想要的话,最佳解决方案是什么?延迟20毫秒。

我应该将数据缓存在本地内存中还是使用像Redis这样的全局缓存?

1 个答案:

答案 0 :(得分:0)

我会使用Redis。原因如下:

  • 我假设正在从文件或其他内容中读取1亿个整数。无论如何你需要一段时间才能削减它。将它存储在Redis中将是一次性操作 - 因此,如果您处理过程中或您需要重新运行它,您将不必重新读取数据或不重新读取数据。
  • Redis可以轻松管理500 op / sec(我个人看到900k op / sec,延迟小于1 ms)。
  • 不确定您使用的语言是什么,但是某些脚本语言有很多行李使得大小比预期大,特别是对于小值。将它存储在Redis中(通常用于存储大量数据)通常更容易。

如果您要在Redis中执行此操作,请考虑使用HSET在普通SET上将数据存储在一系列哈希值中。