从服务器的角度来看,我何时应该激动地使用Redis而不是像HashMap或ConcurrentHashMaps这样的DS

时间:2014-05-19 19:09:46

标签: java redis hashmap

我的密钥由一些非原始对象组成,这些对象不一定需要Redis,即我不一定打算在这里使用Redis作为任何DS服务器。但假设服务器一直在运行,我应该何时考虑使用Redis而不是HashMap来存储相关数据?我的问题陈述需要频繁地从所选数据结构中进行写入,读取和删除。

谢谢!

1 个答案:

答案 0 :(得分:2)

我不是Redis的专家,我有类似的Java产品,但更普遍地回答这个问题....

Redis(以及类似的解决方案)对

非常有用
  • 与其他程序共享数据。
  • 将数据从堆中删除,减少GC暂停。
  • 让您通过工具直接访问您的数据。
  • 跨机器复制数据。
  • 快速重启Java应用程序。
  • 允许您将Java应用程序拆分为多个JVM。

缺点是您必须通过TCP管道获取所有内容,这意味着更高的延迟。如果你能解决这个问题,Redis可能对你的数据结构中的某些/大多数(尽管可能不是全部)非常有用。

您可能需要的是一个具有嵌入性能的数据存储,您不会遇到性能问题。 ;)