Redis入门 - 事务

这篇具有很好参考价值的文章主要介绍了Redis入门 - 事务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文首更地址,阅读效果更佳!

Redis入门 - 事务 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-transaction.html

Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:

  • 批量操作在发送 EXEC 命令前被放入队列缓存。
  • 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
  • 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

一个事务从开始到执行会经历以下三个阶段:

  • 开始事务。
  • 命令入队。
  • 执行事务。

单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

Redis事务命令

  • 开始事务:multi
  • 执行事务:exec
  • 取消事务:discard
  • 监视一个(或多个) key:watch key [key ...]

监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

  • 取消监视:unwatch

取消 WATCH 命令对所有 key 的监视。

注意

Redis的事务和MySQL的事务是不同的,MySQL的事务要么全部执行,要么全部不执行。而Redis仅仅是一组命令的顺序执行集合,事务不会回滚,也不会随着报错而停止。文章来源地址https://www.toymoban.com/news/detail-486987.html

到了这里,关于Redis入门 - 事务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解事务模式和 Lua 脚本,带你吃透 Redis 事务

    先说结论: Redis 的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但 Lua 脚本更具备实用场景,它是另一种形式的事务,他具备一定

    2024年02月05日
    浏览(41)
  • 一文讲透 Redis 事务 (事务模式 VS Lua 脚本)

    准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本 。 先说结论: Redis 的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但

    2023年04月08日
    浏览(42)
  • 【Redis】事务

    定义:在一次跟数据库连接会话当中,所有的执行sql,要么一起成功,要么一起失败。经典案例:转账 官网:https://redis.io/docs/manual/transactions/ 定义: 可以一次执行多个命令,本质是一组命令的集合。个事务中的所有命令都会序列化, 按顺序地串行化执行而不会被其它命令插

    2024年02月03日
    浏览(19)
  • Redis之事务

    Redis事务命令(开启事务、提交事务、取消事务、监视)、乐观锁、悲观锁。 Redis事务的本质是一组命令的集合 事务支持一次执行多个命令,一个事务中所有命令都会被序列化。 在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事

    2024年02月05日
    浏览(32)
  • Redis的事务

    一、Redis中事务的定义 1)    Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断 2)    Redis事务的主要作用就是串联多个命令防止别的命令插队。 二、multi 、exec、discard 1)    从

    2024年01月18日
    浏览(25)
  • redis --- 事务

    目录 一、redis事务 1.1、正常执行   1.2、放弃事务  1.3、一个报错,全部不成功  1.4、只有错误的不成功 1.5、watch监控 MULTI与exec的使用  MULTI与discard的使用   与传统数据库事务区别在于不一定要么一起成功要么一起失败。 redis使用Watch来提供乐观锁定,类似于CAS.。   一旦执

    2023年04月08日
    浏览(17)
  • Redis 事务

    1、Redis 事务 Redis 通过 MULTI、EXEC、WATCH 等命令来实现事务机制,事务执行过程将一系列多个命令按照顺序一次性执行,并且在执行期间,事务不会被中断,也不会去执行客户端的其他请求,直到所有命令执行完毕。事务的执行过程如下: 服务端收到客户端请求,事务以 MULT

    2024年02月08日
    浏览(18)
  • Redis事务

    是什么 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞! 能干嘛 在一个队列中,一次性、顺序性、排他性的执行一系列命令 Redis事务和数据库事务的区别 单独的隔离操作 Redis的事务

    2024年02月03日
    浏览(18)
  • 【Redis】Transaction(事务)

    Redis事务是一个组有多个Redis命令的集合,这些命令可以作为一个原子操作来执行。 Redis事务通常用于以下两种情况: 保证操作的原子性:在多个命令的执行过程中,如果有一个命令执行失败,整个事务都需要回滚(撤销)到事务开始前的状态,确保数据的一致性。 实现乐观

    2024年02月13日
    浏览(40)
  • 【2023】Redis事务

    Redis事务是一组命令的集合,这些命令要么全部执行,要么全部不执行。它们被视为一个单独的操作单元,要么完全成功,要么完全失败。 Redis事务可以用来实现ACID属性( 原子性、一致性、隔离性、持久性 )。 ACID是一组属性的缩写: 1️⃣:原子性,是指一个Redis事务中的

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包