-1

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

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

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

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

1-使用 HashMap/ConcurrentHashMap 是否是正确的方法?2-我如何实现不同的虚拟机通信 3-作为初学者我应该遵循的一些最佳实践。4-彻底解决了此处发布的各种问题,其中一个链接是在内存对象缓存中开发

仍然困惑我如何实现与此缓存 VM 对话的不同 VM。

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

4

1 回答 1

1

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

作为一个开始:

使用集合,如果你有很多读写,你可以使用 ConcurrentHashMap ,这仍然会更好。

您应该考虑遵循更多参数:

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

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

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

于 2013-06-26T11:01:25.857 回答