2010-06-18 13 views
6

我目前正在構建一個必須能夠處理每秒數萬次寫入的系統。我或多或少地使用Apache Cassandra作爲持久層,並將Java用於應用程序層,但在某些情況下,我需要快速訪問數據,以便在幾秒鐘內完成任何更改。客戶端緩存選項與Cassandra和Java可以很好地配合使用嗎?

每次碰到卡桑德拉我需要檢查這些數據的變化會太慢,這意味着我需要使用某種應用層緩存。

要確保緩存的數據保持最新,理想情況下它會支持某種基於多播的緩存失效。

我有什麼選擇?

+1

我不認爲你應該假定打卡桑德拉這個數據將是太慢了。如果您訪問的數據是新鮮或熱門的,無論如何都會記憶在您的記憶中,您只需通過再次緩存來浪費更多的記憶。你應該試驗和測試,而不是假設。 – 2010-06-20 18:21:27

回答

0

我已經使用ehcache,它的工作非常好。在應用程序外部進行了良好的配置,它支持多播失效(以及我所需要的比失效更多的基於磁盤的持久性)。

1

我會先研究cassandra鍵(避免索引掃描)和/或行緩存(避免sstable查找)是否足夠。

的詳細信息:http://wiki.apache.org/cassandra/API

+0

這些緩存在客戶端?你能給我提供更詳細的信息嗎? – sanity 2010-06-18 14:36:43

+1

多數民衆贊成純服務器端緩存 – Schildmeijer 2010-06-18 22:50:08