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 - C++ NEW 对象作为参数(像 Java)

java - 如何解决jdom库运行时异常?

networking - NoSQL/Redis 扩展理论

scala - LinkedHashMap 更改为 HashMap 并在 flink 数据流算子中崩溃

java - HashMap 对象键

java - Spring JPA : Select specific columns on join with annotation/JPQL

java - 找出所有小于 200 万的素数之和需要多少时间?

java - com.example.RedisApplication 中方法存储库的参数 0 需要找不到类型的 bean

redis - 使用 SignalR 和 Redis 的组

java - 在Java中初始化Map的静态数组