【问题标题】:Need Suggestion, to start developing a cache application in java [closed]需要建议,开始在java中开发缓存应用程序[关闭]
【发布时间】:2013-06-26 10:25:27
【问题描述】:

我知道这是一个主观问题,我尝试用谷歌搜索,并查看了不同缓存提供者的文档,例如 ehcache 等。

用例/问题陈述:一个应用程序(缓存应用程序)将在服务器的不同VM中,并且应用程序A,B,C等多个应用程序驻留在不同的VM中,可以与缓存应用程序进行通信,类似于Sqlfire/gmfire 的概念,即在内存缓存中。

方法: 注意:考虑到需求,我不想使用现有的缓存机制,如 mmcache、ehaceh 等,

能否请您提供一些我应该从哪里开始的想法,例如:

1-使用 HashMap/ConcurrentHashMap 是否正确? 2-我如何实现不同的虚拟机通信 3-作为初学者我应该遵循的一些最佳实践。 4 解决了此处发布的各种问题,其中一个链接是Develop in Memory Object Cache

我仍然很困惑如何实现不同的虚拟机与这个缓存虚拟机通信。

我可能不够清楚,无法表达我所想的粗略想法,如果您需要进一步澄清,请告诉我。

【问题讨论】:

    标签: java caching map hashmap in-memory


    【解决方案1】:

    不同的VM相互通信,可以使用RMI、Web-Services、Rest-Services。使用 RMI,您将必然使用 Java 作为通信的另一方。然而,web-service 和 rest-web-services 将为您提供使用 .NET、Java 或其他作为缓存客户端的优势。

    首先:

    使用集合,如果读写量大,可以用ConcurrentHashMap,这样性能还是会更好。

    您应该考虑以下更多参数:

    • 内存管理
    • 元素老化
    • 驱逐政策

    但是,如果没有什么不同或更好的交付方式,那么重新发明轮子并不是一个好主意。

    您还需要考虑,缓存应用程序不会因为缓存过多而耗尽内存。

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 1970-01-01
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多