最近由於庫比較不穩定還在集體改版,我碰到乙個問題
主庫更新後,從庫兩秒才能拿到更新後的資料,比如贊操作點後自動在頁面html+1,但是由於讀取列表是在從庫,如果重新整理的快,會看到贊還是沒+1之前的數值。
今天跟新青和李偉他倆討論,新青提供的方式很棒,特此記錄。
我只需在他基礎上整合了一下列表輸出操作就解決了這個問題。
首先更新的時候呼叫orm的edit更新操作,函式內部使用edit函式分析引數及修改值 並更新單條資料到memcache (以資料庫內資料的主鍵組為key)這時所有的最新資料都會記錄到memcache內。
呼叫獲取單條操作的時候直接回自動從memcache走,如果沒有再查資料庫。
如果做列表查詢時候使用select pkid(只輸出表主鍵),然後根據id再呼叫獲取單條資料的介面從memcache內拿資料。雖然浪費點php和記憶體,但是從某個角度來說這個速度很可觀。也解決了主從同步延遲問題。
MySQL主從延遲分析
主從常見架構 一主多從 級聯複製 多主一從,主主複製。主從複製原理 對於主從來說,通常的操作是主庫用來寫入資料,從庫用來讀取資料。這樣的好處是通過將讀寫壓力分散開,避免了所有的請求都打在主庫上。同時通過從庫進行水平擴充套件使系統的伸縮性及負載能力也得到了很大的提公升。但是問題就來了,讀從庫時的資料要...
mysql主從同步延遲問題
mysql配置讀寫分離後,master負責所有的寫操作,而從伺服器負責一切的讀操作。其實在資料庫中使用的最多的操作就是讀操作,一般而言,資料庫會有較大可能成為整個系統的瓶頸。導致資料庫主從同步延遲較大的問題一般有以下幾種。1 從伺服器配置較低,只需要公升級從伺服器的配置即可 2 主庫的qps過高導致...
mysql讀寫分離,主從複製,主從延遲
為了提公升資料庫的效能,一般會採用讀寫分離,即寫請求去主庫,讀請求去從庫。支援開啟多個io執行緒,可以提公升效率。開啟mysql的semi sync 半同步複製功能,即資料落庫,寫入binlog,並至少同步給一台從庫的relay日誌,才算寫成功。從庫開啟多個sql執行緒,可以併發讀取relay日誌,...