2011-07-28 28 views
0

我目前正在研究它是否適合我在Google App Engine中使用Ehcache,並且我有一個特定的需求。
我正在構建一個遊戲狀態將在每一回合更新的遊戲。目前,每次操作後,我都會更新Memcache,然後是數據存儲。每轉一圈,我首先從緩存中加載遊戲狀態,如果緩存爲空,則從數據存儲區加載遊戲狀態。
我必須每次更新數據存儲的原因是因爲不能保證對象不會從緩存中清除。我可以註冊在對象被刪除之前觸發的Ehcache事件偵聽器嗎?

我擔心的是,大部分時間(即只要對象沒有從緩存中清除),所有這些數據存儲保存都是無用的。
因此,我正在尋找一種方法來觸發數據存儲只保存一次,然後將對象從緩存中刪除。

看來,這是不可能的使用GAE Memcache。我看過Ehcache,但它只在之後提供通知元素已被刪除。而且,「只有元素的關鍵是已知的」,這與我想要做的不一致。

有沒有人已經面臨同樣的需求?你是怎麼處理它的?

預先感謝任何暗示

回答

1

沒有,有前一個元素是從緩存中驅逐在App Engine上被通知沒辦法。也沒有辦法安裝像EHCache這樣的備用緩存系統。

Memcache,顧名思義,是一個緩存系統。即使有驅逐機制,您也不應該依賴它作爲主存儲。

+0

如果我理解正確,那麼您的意思是緩存(不管它是什麼)應該總是僅僅反映存儲系統以減少加載時間(適用時)。是對的嗎? –

+0

這是正確的。 –

+0

感謝您的澄清:) –

相關問題