zoukankan      html  css  js  c++  java
  • 锁?

    数据库通过锁机制来解决并发场景-共享锁(读锁)和排他锁(写锁)。读锁是不阻塞的,多个客户端可以在同一时刻读取同一个资源。写锁是排他的,并且会阻塞其他的读锁和写锁。简单提下乐观锁和悲观锁。

    • 乐观锁,通常用于数据竞争不激烈的场景,多读少写,通过版本号和时间戳实现。

    • 悲观锁,通常用于数据竞争激烈的场景,每次操作都会锁定数据。

    要锁定数据需要一定的锁策略来配合。

    • 表锁,锁定整张表,开销最小,但是会加剧锁竞争。

    • 行锁,锁定行级别,开销最大,但是可以最大程度的支持并发。

    但是MySql的存储引擎的真实实现不是简单的行级锁,一般都是实现了多版本并发控制(MVCC)。MVCC是行级锁的变种,多数情况下避免了加锁操作,开销更低。MVCC是通过保存数据的某个时间点快照实现的。

  • 相关阅读:
    Python流程控制语句
    关于OSPF、NAT的原理
    Win10删除右键多余选项菜单
    PHP学习 Day_05
    配置yum
    kubernetes 网络组件简介
    kubelet命令行工具使用详解记录
    kubelet资料网址
    kubelet 介绍
    python 的发展介绍
  • 原文地址:https://www.cnblogs.com/programb/p/14089679.html
Copyright © 2011-2022 走看看