2012-04-19 62 views
1

我使用memcached來保存大約5MB的數據。大約百分之四十的數據更新時間爲秒,這導致memcached客戶端和服務器之間大約280個qps,get和set每個都會佔用一半的查詢。除了實現這麼大的數據交易之外,我也遇到了HA問題。我該如何做Memcached HA?

在我選擇memcached之前,我也看過Redis。但它似乎只是一個線程,不太可能在數據持久性方面表現良好。此外Redis的客戶端並不是那麼容易,並且在與Memcached站在一起時也達不到。

但是我怎麼能用memcached做HA?我應該如何在master和slave memcached服務器之間保持數據重複;當memcached服務器崩潰時,會出現數據一致性問題。是否已經有一些用於memcached HA的好工具,或者是否有更好的NoSql數據庫而不是memcached?

+0

嗨 - 我認爲你的問題可能會得到更好的貼在論壇上像stackexchange.com(對於系統管理者),而不是stackoverflow(編程相關的問題)。您可能也對此主題感興趣:http://www.mail-archive.com/[email protected]/msg07175.html – paulsm4 2012-04-19 16:28:29

+1

memcached是一個緩存,而不是NoSQL存儲。當達到最大記憶時,您的數據可能會隨時被驅逐。您需要穩定的存儲空間才能與memcached一起使用。如果你仍然想將你的東西存儲在memcached中,請查看CouchBase人員做了什麼(即虛擬存儲桶機制)。哦,你對Redis的評論很荒謬(一個Redis實例可以支持200 + Kqps,而現代硬件沒有問題,所以你的280 qps幾乎不會影響它)。 – 2012-04-19 16:30:31

+0

@DidierSpezia使用-M運行memcached可防止數據被驅逐。從手冊頁'-M禁用當內存不足時自動從緩存中刪除項目。在足夠的空間被釋放之前,添加將不可能。 – seppo0010 2012-04-19 17:26:44

回答