面试—Redis(事务)

Redis事务

是什么

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

如何使用

Redis 可以通过 MULTIEXECDISCARDWATCH 等命令来实现事务(transaction)功能

MULTI:开启事务

EXEC:执行事务

DISCARD:取消事务

WATCH:监听某个key,当调用 EXEC 命令执行事务时,如果一个被 WATCH 命令监视的键被修改的话,整个事务都不会执行,直接返回失败

##############################
> MULTI # 开启事务
OK
> SET USER "cjd"
QUEUED
> GET USER
QUEUED
> EXEC
1) OK # 执行事务
2) "cjd"

#############################
> MULTI
OK
> SET USER "cjd"
QUEUED
> GET USER
QUEUED
> DISCARD # 取消事务
OK
#############################
> WATCH USER
OK
> MULTI
> SET USER "cjd"
OK
> GET USER
cjd
> EXEC
ERR EXEC without MULTI
特点
  • 不保证原子性:任意命令执行失败,其余命令仍会执行
  • 不支持回滚:更简单便捷并且性能更好
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值