2010-08-08 92 views
2

這是一個古怪的問題。我知道使用memcached來緩存內存中的「讀取重量」數據,但是對寫入來說可能還是一樣嗎?存儲MySQL寫入內存

例如:您在內存中有一塊數據(在memcached中),並且如果您必須對該數據進行任何更改,則將其存儲在內存中。在特定時間段(小時或天)結束時,您將所有這些更改複製到MySQL中。因此,您正在使用內存而不是磁盤存儲內容,然後在這段時間結束時,這些更改被複制到MySQL時變爲永久性。

有沒有一款軟件可以做到這一點?示例代碼可能?

+0

您是否有寫入性能問題?你是否優化了你的數據庫服務器以獲得更好的寫入性能?默認配置有一個習慣是不完美的... – 2010-08-08 11:45:08

+0

是的,它的寫作優化,我也得到了更好的HD。不過,我想調查此解決方案,作爲一種替代方案。 – Rushi 2010-08-10 08:31:14

回答

0

是的,它可以以這種方式來減少I/O過載。

我相信你所描述的是緩存數據的「後寫」場景。

實現可以通過創建任務隊列和設置工作來完成。

+0

有沒有一些軟件可以實現這個本地? – Rushi 2010-08-08 10:02:10

+0

我不知道是否有軟件可以在本地執行此操作,請讓我知道如果您找到一個:D 但是,這可以通過腳本輕鬆完成,但不要將此技術用於關鍵數據 – 2010-08-08 10:20:04

1

關鍵數據不可用,因爲memcache不保證數據的一致性。

儘管您可以對會話數據使用這樣的行爲,並且不需要特殊的軟件。只需檢索您的數據,修改並保存。

0

也許MySQL Proxy可以用於你嗎?我沒有嘗試過,所以我不知道它是否符合你的要求。