Redis事务命令介绍

Redis事务命令介绍

Redis基础命令在数据管理中扮演重要角色,Redis命令被设计为原子的,即Redis事务使用全由或全无命题,即一组命令要么都执行要么都不执行,一旦执行不会受其他事物干扰。因此了解事务的基本命令是简化工作量的关键,本文带你了解如何使用Redis命令。

1. Redis的事务命令

我们先介绍下Redis与事务相关的基础命令及功能:

  • MULTI - 事务块的开始
  • EXEC - 执行队列命令的信号,命令执行后返回正常状态
  • DISCARD - 一旦执行完成清理队列中的命令,然后返回正常状态

MULTI, EXEC, DISCARD是按顺序发生。如果事务失败,那么整个过程中止,因此事务作为单序列方式执行。

2. 事务命令示例

首先创建两个建:

127.0.0.1:6379> SET int1 15
OK
127.0.0.1:6379> SET int2 20
OK

执行MULTI命令,启动Redis事务

127.0.0.1:6379> MULTI
OK

服务器返回ok,下面执行下面两条命令:

127.0.0.1:6379> INCR int1
QUEUED
127.0.0.1:6379> INCRBY int2 100
QUEUED

其返回Queued表示命令执行进入队列并没有执行。

我们可以在新的命令行执行下面命令进行验证:

127.0.0.1:6379> GET int1
"15"
127.0.0.1:6379> GET int2
"20"

注意:Redis使用一个称为隔离进程来确保服务器执行命令不会中断。这就是为什么输入的第一组命令没有更改。

接下来使用exec命令执行事务,无需任何参数,因为队列已经存在。

127.0.0.1:6379> EXEC
1) (integer) 16
2) (integer) 120

注意:如果使用Redis事务收到错误请检查命令的准确性。如果在Exec之前收到错误,验证参数及命令名称以及服务器内存限制。如果在Exec命令之后收到错误,请确认键值以及调用的操作。

另外如果想取消操作可使用DISCARD命令。

  • 使用MULTI命令开始
  • 执行命令incr
  • 使用discard取消命令
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> INCR int
QUEUED
127.0.0.1:6379> INCR int2
QUEUED
127.0.0.1:6379> DISCARD
OK

上面代码显示Redis事务被成功取消,因为DISCARD返回OK,再次使用get命令确认结果:

127.0.0.1:6379> GET int1
"16"
127.0.0.1:6379> GET int2
"120"

3. 总结

Redis事务

Redis事务只是其众多功能之一,在不受其他事务干扰情况下连续执行一系列命令是Redis中常用实现方式。事务序列的主要三个事务命令:MULTI、EXEC和DISCARD必不可少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值