網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

mvvc模式原理講解

欄目: 心理 / 發佈於: / 人氣:2.99W
mvvc模式原理講解

mvVC模式分為:Model層,View層和VueModel層。

1、View層:視圖層,在前端開發中就是DOM層,主要作用就是給用户展示各種信息。

2、Model層:數據層,數據可能是我們固定的死數據,更多的是來自服務器,從網絡請求下來的數據。

3、VueModel層:視圖模型層,它是視圖層和數據層的橋樑

一方面實現了Data Binding,即數據綁定,將Model的改變實時的反應到View中

一方面展示了DOM Listener,也就是DOM的監聽,當DOM發生一些事件,可以監聽到,並在需要的情況下改變對應的Data。

MVVC (Multi-Version Concurrency Control) (注:與MVCC相對的,是基於鎖的併發控制,Lock-Based Concurrency Control)是一種基於多版本的併發控制協議,只有在InnoDB引擎下存在。MVCC是為了實現事務的隔離性,通過版本號,避免同一數據在不同事務間的競爭,你可以把它當成基於多版本號的一種樂觀鎖。當然,這種樂觀鎖只在事務級別提交讀和可重複讀有效。MVCC最大的好處,相信也是耳熟能詳:讀不加鎖,讀寫不衝突。在讀多寫少的OLTP應用中,讀寫不衝突是非常重要的,極大的增加了系統的併發性能。

不僅是MySQL,包括Oracle,PostgreSQL等其他數據庫系統也都實現了MVCC,但各自的實現機制不盡相同,因為MVCC沒有一個統一的實現標準。

可以認為MVCC是行級鎖的一個變種,但是它在很多情況下避免了加鎖操作,因此開銷更低。雖然實現機制有所不同,但大都實現了非阻塞的讀操作,寫操作也只鎖定必要的行。

MVCC的實現方式有多種,典型的有樂觀(optimistic)併發控制 和 悲觀(pessimistic)併發控制。

MVCC只在 READ COMMITTED 和 REPEATABLE READ 兩個隔離級別下工作。其他兩個隔離級別和MVCC不兼容,因為 READ UNCOMMITTED 總是讀取最新的數據行,而不是符合當前事務版本的數據行。而 SERIALIZABLE 則會對所有讀取的表都加鎖。

Tags:mvvc 模式 講解