我的 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/