Redis 事务

Redis中事务的概念和数据库中事务的概念差不多,都表示一组操作,要么全部执行,要么全部不执行,即原子操作。

Redis中的事务,表示事务中的几个命令,要么全部执行,要么全部不执行,还能保证redis在执行这些命令时,防止其他客户端插入其他命令。

 

例子:

redis> MULTI

OK

redis> 第一个命令

QUEUED

redis> 第二个命令

QUEUED

redis> EXEC

1) 第一个命令的执行结果

2)第二个命令的执行结果

 

注意点:

1)事务中的命令是按照顺序执行的,返回的结果也是这个顺序;

2)可以防止其他命令插入到事务中的命令中执行

异常情况:

1)如果命令有语法错误,那redis就不执行这个事务;

2)如果命令有运行时错误(即redis在执行命令时,发现了错误), 那redis仍然会把所有的命令执行完,然后返回所有命令的执行结果(执行失败的命令的结果也会显示出来)。

3)如果client还未发送exec就和server端断开连接了, 那server会清空queued 命令的

缺点:

redis将事务中的命令执行完后,到最后一次性的把命令的执行结果全部返回。

如果我想根据前一条命令的结果,来决定下面执行哪条命令,那redis事务就无法做到。

这种情况,可以使用WATCH命令来实现。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值