【问题标题】:Using redis to cache java objects: why it should be better than a ConcurrentHashMap?使用 redis 缓存 java 对象:为什么它应该比 ConcurrentHashMap 更好?
【发布时间】:2013-12-21 00:43:23
【问题描述】:

在分析当前正在开发的 Java 应用程序时,我们发现了一些可以使用缓存来解决的瓶颈。应用程序进程请求并且它应该尽可能快地这样做。我们正在考虑将 Redis 作为缓存解决方案,因为我们已经在应用程序中使用了它。基本上我们必须缓存java对象。使用 Redis,我们必须序列化/反序列化这些对象 + 网络开销。鉴于 Redis 基本上是一个键值存储,我想知道使用 ConcurrentHashMap 代替 Redis 是否更有效,因为这样可以节省我们的序列化和网络开销。但是,在互联网上搜索,我找不到任何人为此目的使用它。我错过了什么吗?用于此目的的 ConcurrentHashMap 的实际限制是什么(就并发请求和缓存数据量而言)?

【问题讨论】:

    标签: java caching redis concurrenthashmap


    【解决方案1】:

    恕我直言,ConcurrentHashMap 是一个合适的缓存提供

    • 您不需要外部访问权限
    • 总堆大小不是太大,例如4 GB
    • 并发级别不超过大约 20 个 CPU(不仅仅是线程)
    • 它具有您需要的功能。
    • 您的到期模型非常简单。

    Redis 的设计目的不仅仅是缓存值,还可以在使用不同语言的进程之间共享,甚至可以通过命令行访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2015-03-14
      • 2020-01-28
      • 1970-01-01
      • 2013-08-06
      • 2016-03-29
      相关资源
      最近更新 更多