• 数据库的事务


    一,概念:

           事务(transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。事务通过以BEGIN TRANSACTION开始,以commit 或rollback操作结束,commit即提交,提交事务中所有的操作,事务正常结束。rollback即回滚,撤销已做的所有操作,回滚到事务开始时的状态。事务是数据库区别于文件系统的重要特性之一。

    例如在flask中,我们一次数据库提交操:

        try:
            db.session.add(task)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            raise e
    

     二,特性:

    • 原子性
    • 一致性
    • 隔离性
    • 持久性

    三,事务是如何实现的?

    在事务的ACID特性中,C即一致性是事务的根本追求,而对数据一致性的破坏主要来自两个方面

    • 1.事务的并发执行
    • 2.事务故障或系统故障

    数据库系统是通过并发控制技术和日志恢复技术来避免这种情况发生的。

    并发控制技术保证了事务的隔离性,使数据库的一致性状态不会因为并发执行的操作被破坏。
    日志恢复技术保证了事务的原子性,使一致性状态不会因事务或系统故障被破坏。同时使已提交的对数据库的修改不会因系统崩溃而丢失,保证了事务的持久性。

    全世界的程序员们联合起来吧!
  • 相关阅读:
    卡嘉mysql命令
    Go并发控制和超时控制
    sync包介绍
    Golang-RSA加密解密-数据无大小限制
    GO json 如何转化为 map 和 struct
    go之gorm
    go mod 生成 vendor
    go语言中找&和*区别
    Swoole的process通信的方式
    centos安装python3
  • 原文地址:https://www.cnblogs.com/chaojiyingxiong/p/15260227.html
Copyright © 2020-2023  润新知