在jetspeed2.0中cache機制主要應用於檔案操作上。因為jetspeed2.0使用門戶結構標記語言(p**l)來定義在乙個portal頁面上如何將portlets進行整合、布局、裝飾以及安全限制等。而這些定義是以xml形式儲存在檔案中的。如果每次都去讀檔案,效能將會很差。
使用hashmap儲存物件是實現cache的最基本思路,但是這只能實現單機系統的緩衝機制,一旦portal的資料量級達到一定的程度就必須實現多台伺服器的"集群"caching機制。目前在jetspeed2.0中沒有看到相關的文件介紹和具體實現方式。通過對另乙個開源portal產品liferay的研究,介紹一種利用ejb實現分布式cache簡單實用的實現。
為了達到分布式
cache
目的,多型
server
能共享同樣的
cache
,liferay
使用了資料庫來持久化這些
cache
,使用集中式的資料庫可以讓多型伺服器來共享這些被
cache
的物件。
cache
中有兩個字段:id和
string
型的text
,後者是將物件序列化以
string
方式儲存在資料庫中。整個
cache
機制有三層,第一層
webcachepool
是離應用請求最近的;當超過更新期間後,第一層將從第二層
cachepool
獲取,如果第二層沒有,將從資料庫中獲取,如果資料庫沒有或過期,則啟動這個被
cache
的物件的某個方法,讓其從遠端通過網路獲取新值。這種機制是利用記憶體中的物件來代替遠端物件,因此它是一種
proxy
模式。
Portal效能優化
在jetspeed2.0中cache機制主要應用於檔案操作上。因為jetspeed2.0使用門戶結構標記語言 psml 來定義在乙個portal頁面上如何將portlets進行整合 布局 裝飾以及安全限制等。而這些定義是以xml形式儲存在檔案中的。如果每次都去讀檔案,效能將會很差。使用hashmap...
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...
效能優化 電量優化
使用battery historian來監測電量的情況,battery historian時google的乙個開源專案 具體安裝過程參見 當出現下列畫面,說明已經開啟 其開啟成功以後,訪問網頁如下所示 說明 這裡使用的是一台國外的vps伺服器,原本是想在本地虛擬機器實驗的,一直連線超時,就換成了vp...