2012-08-13 37 views
1

我打算爲PortletPreferences類寫一個靜態類。由於每次我致電PortletPreferences.getValue(),我都會調用內部門戶網站數據庫以獲取該值。我打電話PortletPreference.setValue()PortletPreferences.store()將它保存在數據庫中。每次更改首選項時都會有數據庫調用。我想優化我的代碼的性能。我正在尋求幫助和建議,我如何才能做到這一點。優化Portlet首選項的性能

我有一個想法,我不知道是否正確。我可以寫一個靜態的Map類來實現這個嗎?如果我錯了,請糾正我。謝謝 !

+0

什麼[範圍](http://www.lotus.com/ldd/portalwiki.nsf/dx/Preference_layers_and_portlet_modes_wp7)是您的偏好? – McDowell 2012-08-13 09:32:20

+0

現在它僅適用於管理員首選項。 – user525146 2012-08-13 14:19:55

+0

@McDowell你能指導我正確的方向嗎? – user525146 2012-08-20 19:10:57

回答

0

如果您打算讓偏好本質上是「只讀」,並且每個用戶都是相同的,那麼一次加載它們到地圖中應該沒問題,然後在內存中而不是通過API訪問它們。

但是,如果您打算更改Portlet首選項(不重新啓動Portlet應用程序)或允許用戶爲首選項設置自己的值,那麼您應該小心。在這兩種情況下,這些值都是動態的,並且應該每次都可以提取。你不希望有人更新首選項,但沒有看到它有預期的影響。您也不希望一個用戶使用另一個用戶保存的首選項值。

在Map中存儲首選項本質上是創建一個共享緩存,您必須手動更新而不是讓API執行它。如果這種緩存的含義可以滿足您的要求,那麼請盡一切努力。