当前位置:柔美女性网 >

绿色生活 >心理 >

mvvc模式原理讲解

mvvc模式原理讲解

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 则会对所有读取的表都加锁。

标签: 模式 讲解 mvvc
  • 文章版权属于文章作者所有,转载请注明 https://rmnxw.com/lvse/xinli/1rlyqy.html