我開發的網站是類似 youtube 的網站,網站打算使用 redis 主從+mysql 主從方式。
大概的結構思路是這樣的。
1.1
使用者-->讀--->redis 從--->(存在返回結果|結束|,不存在返回 0|繼續下一步|)--->讀 Mysql
從--->(存在返回結果並寫入redis,不存在返回 0 ,結束)
1.2
使用者-->寫--->寫 Mysql 主--->寫 redis
主--->結束。(其實我希望直接寫入到redis主中,然後再同步到MySQL主中,但是不知道有什麼穩定成熟一點的方案,能使Redis主和Mysql主即時同步。)
大家看我這種設計方法可行不,有什麼弊端和建議。
視頻點擊量以及頂踩等熱資料直接寫入 redis主 ,一天 crontab 一次到 mysql 裡備份。 (定時同步,除了crontab + ( phpcli || shell.sh ) 還有什麼更好的方案嗎?)
在此謝謝諸位,小弟第一次過來。
回複內容:
我開發的網站是類似 youtube 的網站,網站打算使用 redis 主從+mysql 主從方式。
大概的結構思路是這樣的。
1.1
使用者-->讀--->redis 從--->(存在返回結果|結束|,不存在返回 0|繼續下一步|)--->讀 Mysql
從--->(存在返回結果並寫入redis,不存在返回 0 ,結束)
1.2
使用者-->寫--->寫 Mysql 主--->寫 redis
主--->結束。(其實我希望直接寫入到redis主中,然後再同步到MySQL主中,但是不知道有什麼穩定成熟一點的方案,能使Redis主和Mysql主即時同步。)
大家看我這種設計方法可行不,有什麼弊端和建議。
視頻點擊量以及頂踩等熱資料直接寫入 redis主 ,一天 crontab 一次到 mysql 裡備份。 (定時同步,除了crontab + ( phpcli || shell.sh ) 還有什麼更好的方案嗎?)
在此謝謝諸位,小弟第一次過來。
你的設計方法沒有問題,有一些資料庫產品是可以屏蔽儲存之間的差異,但是引入新的一個層,意味著額外的維護成本。
至於熱資料同步到mysql備份的問題,可以在代碼裡面實現,例如視頻點擊量達到1W,2W這樣的節點,就同步更新下mysql的資料。