java - 从服务器的角度来看,我什么时候应该使用 Redis 而不是像 HashMap 或 ConcurrentHashMaps 这样的 DS

标签 java redis hashmap

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

谢谢!

最佳答案

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

Redis(和类似的解决方案)对

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

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

您可能想要的是具有嵌入式性能的数据存储,并且您不会遇到性能问题。 ;)

关于java - 从服务器的角度来看,我什么时候应该使用 Redis 而不是像 HashMap 或 ConcurrentHashMaps 这样的 DS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745399/

相关文章:

java - 正则表达式从任意货币格式中提取美分值

java - 如何用另一个 JButton 替换 JPanel 中的 JButton

java - Play框架和图像缓存

java - 无法在 Eclipse 中使用 FileEditorInput 类

java - 动态添加新列表到 map

java - 从 xml 填充 hashmap(java)

java - 在 Java 中迭代 Map 时跳过索引

Redis保存错误

ruby - Redis存储地理信息,

redis - phpredis中的MULTI/EXEC命令是否一次发送命令?