2013-06-26 55 views
-1

緩存應用程序,我知道這是一個主觀的問題,我想谷歌退出,並通過不同的緩存提供,比如ehcache的等需要建議,開始開發在java中

用例的機制的文檔去/問題狀態:將位於服務器的不同虛擬機中的應用程序(緩存應用程序)以及諸如應用程序A,B,C的多個應用程序駐留在不同的VM中,可以與緩存應用程序進行通信,類似於Sqlfire/gmfire的概念,即,內存緩存。

方法: 注:考慮到需求量的,我不想利用現有的緩存機制,mmcache,ehaceh和等,

能否請您給我從哪裏應該開始如一些想法:

1-使用HashMap/ConcurrentHashMap將是正確的方法嗎? 2 - 我如何實現不同的虛擬機通信 3 - 一些最佳實踐,我應該遵循的原則。 4去了這裏發佈的各種問題之一這樣的鏈接是Develop in Memory Object Cache

仍然在混淆我如何能夠實現不同的虛擬機與這個緩存虛擬機談話。

我可能沒有足夠清楚地表達我想到的粗略想法,如果您需要進一步說明,請告訴我。

回答

1

不同的虛擬機互相通信,你可以使用RMI,網絡服務,休息服務。使用RMI,你必然會使用Java作爲其他通信方。而web服務和rest-web-services將爲您提供使用.NET,Java或其他緩存客戶端的優勢。

一開始:

使用集合,你可以用ConcurrentHashMap中去,如果你有很多的讀取和寫入,這仍然將是更好的執行。

你應該考慮以下更PARAMS:

  • 內存管理
  • 元件老化
  • 驅逐政策

但重新發明輪子是不是一個好主意,如果有什麼不同,或者更好地交付。

您還需要考慮,由於緩存過多,緩存應用程序不會耗盡內存。