Redis基本操作进阶篇-[亲测有效]

Redis基本操作进阶篇-[亲测有效]Redis中的事务(transaction)是一组命令的集合。一个事务中的命令要么全部执行,要么都不执行。Redis的事务没有关系数据库事务提供的回滚(rollback)功能。

Redis基本操作进阶篇-

事务

概述

Redis中的事务(transaction)是一组命令的集合。一个事务中的命令要么全部执行,要么都不执行。Redis的事务没有关系数据库事务提供的回滚(rollback)功能。

Redis通过MULTI 标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列(queued)当中,最后由EXEC 命令原子性(atomic)地执行。

Redis保证一个事务中的所有命令要么都执行,要么都不执行。如果EXEC命令之前出现错误,则Redis会清空事务队列,事务中的所有命令都不执行。

此外,Redis的事务还能保证一个事务内的命令依次执行而不被其他命令插入。

事务基础语法

multi # 开启事务

set name kang # 使命令进入等待执行的事务队列中

set age 18 # 使命令进入等待执行的事务队列中

exec # 按顺序执行事务块内所有的命令

错误处理

语法错误

Redis2.6.5之前的版本会忽略有语法错误的命令,然后执行事务中其它语法正确的命令。就之后版本而言,只要有一个命令有语法错误,执行EXEC命令后,Redis就会直接返回错误,不执行任何命令。

示例如下:

multi

set key name kang

key * # 语法错误,返回值:(error) ERR unknown command `key`, with args beginning with: `*`, 

exec # 返回值:(error) EXECABORT Transaction discarded because of previous errors.

运行错误

运行错误指的是在命令执行中出现的错误,如果Redis中出现了运行错误,事务中其它正确的命令会继续执行。

示例如下:

multi

set name kang

sadd name kang

set age 18

exec

# 返回值:
# 1) OK
# 2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
# 3) OK

WATCH命令

WATCH命令用于监视一个或多个键 ,如果在事务执行之前监视的键被其他命令修改,那么事务将被打断。

set name kang

watch name

set name Kang

multi

set name kang

exec
# 返回值:(nil)

get name # 返回值:"Kang"

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5591.html

(0)
上一篇 2023-05-03
下一篇 2023-05-03

相关推荐

  • Python字符串添加字符串

    Python字符串添加字符串Python中,字符串是不可变的,也就是说,一旦一个字符串被创建,它不能被修改。那么如果我们需要在一个字符串的某个位置添加另一个字符串,应该怎么实现呢?本篇文章将详细讲解Python中字符串添加字符串的方法。

    2024-08-02
    35
  • Python 缩进与代码风格

    Python 缩进与代码风格在 Python 中,缩进并不仅仅是代码的排版而已,实际上,它是 Python 中非常重要的一个语法规则,好的代码风格使代码更容易被理解和维护,也是 Python 社区一直所推崇的。

    2024-06-20
    55
  • 使用conda添加源的方法

    使用conda添加源的方法conda是一个跨平台Python包管理器,可以帮助用户创建和管理不同的Python环境,并能够方便地在不同的环境中安装、更新和卸载Python包。

    2024-08-09
    32
  • 常见的文件共享方式[通俗易懂]

    常见的文件共享方式[通俗易懂]文件共享,便是为了更好地合作,提高高效率。做为数字化时代的生产主力服务平台,文件共享合作的暴发虽然有肺炎疫情要素,促进了内容合作在公司中的布署与运用;更多方面的缘故实际上取决于各个领域智能化过程的加…

    2023-04-11
    177
  • mac电脑实用工具_Mac如何添加桌面小工具

    mac电脑实用工具_Mac如何添加桌面小工具由于工作学习需要,经常需要复制粘贴很多内容,于是我找到了ClipMenu这个小工具,在此分享给大家。 ClipMenu 是什么? ClipMenu 是 Mac 下菜单栏上的剪贴板管理工具,会记录你的…

    2023-01-29
    160
  • 数据库作业在哪里存着_mysql数据库大作业

    数据库作业在哪里存着_mysql数据库大作业题目如下: 1.查询sC表中的全部数据。2. 查询计算机系学生的姓名和年龄3.查询成绩在70~80分的学生的学号、课程号和成绩4.查询计算机系年龄在18~20岁的男生姓名和年龄s.查询C001课程的最

    2023-02-15
    156
  • PS涂抹快捷键

    PS涂抹快捷键Photoshop作为一款专业的图像处理软件,其涂抹操作的快捷键设置非常多,用户可以根据自己的工作习惯进行自定义。在快捷键设置界面,用户可以为涂抹工具(刷子)设置不同的按键组合,包括修改现有的快捷键,添加新的快捷键,以及删除不需要的快捷键。

    2024-06-07
    51
  • Linux和MySQL添加用户和授予权限[亲测有效]

    Linux和MySQL添加用户和授予权限[亲测有效]Linux下添加账户和设置密码 useradd 添加用户 useradd –d /usr/sam -m test 此命令创建了一个用户test, 其中-d和-m选项用来为登录名test产生一个主目录…

    2023-03-08
    150

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注