2017-04-10 11 views
1

我正在嘗試做一些內存計算,我通過使用Apache Ignite和CacheStore實現來完成它,它堅持要做交叉緩存連接,這些連接不能高效工作。 所以有辦法在同一個緩存存儲中存儲多種類型的對象。有沒有一種方法可以在apache的點火器中的單個cacheStore中存儲多種類型的對象?

+0

是否要爲不同的緩存使用相同的CacheStore實現? – alpert

+0

是的.. 的目的是需要加入緩存(它不應該交叉緩存加入,但不同類型的對象)爲前。 訂單,訂單項目 –

+0

我不認爲這將是可能的與CacheStore。什麼試圖達到?可能有更簡單的方法嗎? – alpert

回答

0

也許我錯過了一點,但不能讓你的東西實現相同的基類嗎?

+0

,但需要每次都進行類型轉換...取出後..但是這不會解決,在這種情況下,鍵可能會重複。 即。訂單時,訂單項具有相同的ID –

+0

您可以創建一個幫助器類,以便將內容從緩存中取出。每個都有你想要的類型的簽名。因此,如果您執行'SomeTypeA a = helper.get('key')',即使所有鍵都是相同類型,您也會在沒有明確投射的情況下獲得該類型(幫助器將投射)。如果你真的想這樣做,我建議你在對象之間有不重疊的鍵。您可以通過不同對象類型的ID具有不同的後綴輕鬆完成此操作。因此,A,B,C類的ID分別以001,002,003結束。 –

1

Ignite SQL的性能不依賴於天氣連接是否是交叉緩存。如果你有性能問題,應該有另一個原因。

但無論如何,您可以將多個數據類型存儲在一個緩存中,沒有限制。在這種情況下配置CacheStore的方式取決於您使用的實現。

相關問題