【问题标题】:Redis vs Native Java Performance [duplicate]Redis 与本机 Java 性能 [重复]
【发布时间】:2014-03-09 06:20:00
【问题描述】:

我正在做一个项目,每秒对键值对进行大量的 Set 操作,而 Redis 看起来是一个非常好的方法。

但是,我对此有第二个想法,如果使用 Java HashSet 完成相同的集合操作,实际上 Redis 也使用 HashTable 进行存储。

我认为,这会比 redis 执行得更快,因为除了 RTT 之外,不会有任何网络、序列化和其他东西。

是这样吗,或者redis可能由于某种原因性能更好(现在,我只关注性能和线程安全,而不是复制/分发等)

另外,如果是 Java,是否有任何不错的框架,其中包含一些用于相同内容的算法。

【问题讨论】:

  • 当您编写一个示例程序并对自己进行一些概要分析时发生了什么?
  • 事实上,我打算自己做。但是,我无法真正回答,但在 Google Groups 的某个地方,我看到人们在集合操作中使用 C 的速度比 java 快。
  • 由于您已经提到的原因,Java 将胜过 Redis - 如果您的集合包含它支持的数据类型,您应该尝试trove.starlight-systems.com;这将通过消除装箱/拆箱成本进一步提高性能。

标签: java multithreading performance algorithm redis


【解决方案1】:

将数据存储为 POJO 而不是使用数据库的概念称为“流行”。我知道的Java 中唯一可用的实现是Prevlayer

space4j(Java 中的另一个对象流行引擎)的网站似乎已关闭。看起来他的项目已经死了。

我同意你的观点,这个解决方案可能会胜过 Redis。

【讨论】:

    猜你喜欢
    • 2021-04-14
    • 1970-01-01
    • 2012-04-22
    • 2011-05-26
    • 2010-12-31
    • 1970-01-01
    • 2014-10-01
    • 2017-08-29
    • 2020-11-03
    相关资源
    最近更新 更多