6.Redis事务

redis事务可以一次执行多个命令(按顺序的串行话执行,执行中不会被其他命令插入,不许加塞)

简介

redis事务可以一次执行多个命令(允许在一次单独的步骤中执行一组命令),并且带有一下两个重要保证

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

1.Redis会将一个事务中的所有命令序列化,然后按序执行
2.执行不会被其他命令插入,不许出现加塞行为

常用命令

discard :取消事务,放弃执行事务块内的所有命令
exec: 执行所有事务块内的命令
mulit:标记一个事务的开始
unwatch:取消watch命令对于所有key的监视
watch : 监视一个或者多个key,如果在事务执行之前这个或者这些个key被其他命令所改动,那么事务将被打断

一个事务从开始到执行会经历一下三个阶段:
开始事务
命令入队
执行事务

示例:
A向B转账50元
在这里插入图片描述

应用场景

一组命令必须同时都执行,或者都不执行,我们要保证一组命令在执行过程中不被其他命令插入。

案例:
秒杀:

商品秒杀        14:00    秒杀100部手机

key:存入100手机  编号:list

秒杀流程:
如果一个用户只能抢一个手机
如果抢成功:用户名  ,存入抢成功的手机编号,存入新的集合list
在初始化商品库中移除抢到的手机编号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良缘白马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值