2013-11-25 45 views
-1

幾個非常基礎的問題:Coherence Cache和WPF

1)我想嘗試WPF和coherence緩存。我不太瞭解連貫性,但聽說它有一些事件機制,可以告訴WPF一些基礎數據是否已經改變。那麼使用它,只要基礎數據發生變化,我們應該能夠更新視圖,是否正確?

2)要做到這一點,所有與Coherence的交互應該在單獨的線程上運行,以便我們可以讀取進入的事件或將在主UI線程上工作嗎?

+1

你的意思是DataBinding? – Gusdor

+0

是的。我實際上想要顯示Coherence Cache中發生的任何更改,並在UI上立即作爲事件發送給我。 – Padmaja

回答

0

根據你正在做的事情,Oracle Coherence對於這個問題可能是矯枉過正的。如果有多臺服務器需要保持數據同步,並且/或者當您有許多需要連接到實時數據的客戶端時,Coherence纔會非常好。這聽起來像你可能有第二個用例,但目前尚不清楚。

對於需要保持其數據更新的客戶,Coherence有幾個非常方便的功能。例如,客戶端可以創建一個連續查詢緩存,這意味着該查詢的數據結果將緩存在客戶端的RAM中,然後每當其他客戶端(或任何服務器)更改該數據時,它都會自動更新該客戶端的RAM。然後,如果需要更新UI,則非常簡單,因爲當RAM中的數據發生更改時,UI可以註冊該事件。這用於金融服務公司的交易系統等應用程序。

你還有一件事可能問的是數據庫中的數據發生了什麼變化。 Coherence功能稱爲Coherence Hot Cache,它使用從數據庫流出的事件數據(使用Oracle GoldenGate技術)更新緩存服務器,緩存服務器依次更新各種連續查詢緩存並推出事件(如上所述)。所以基本上,您可以將數據庫中的數據一直推到人們正在查看的GUI中。這是非常酷的東西:)

(爲了充分披露,我在甲骨文公司工作,在這篇文章中表達的意見和觀點是我自己的,並不一定反映我的僱主的意見或看法。)

0

MVVM就是答案。有數據綁定,事件,通知。

+0

在這種情況下,我需要使用MVVM進行線程化嗎? – Padmaja