redis事务

redis事务

(1)mysql和redis事务的区别
MysqlRedis
start transactionmulti
普通sql普通命令
rollback 回滚discard 取消
commitexec
(2)基本操作

set han 1000
set zhao 2000

成功时:
开启事务: multi
han 减少500 : decrby han 500
zhao增加500: incrby zhao 500
成功: exec
在这里插入图片描述
失败时:
开启事务: multi
han 减少500 : decrby han 500
zhao增加500: incrby zhao 500
成功: discard
在这里插入图片描述
如果在开启事务multi的情况下,执行期间有错误的话,就算之后成功提交exec也会执行回滚discard,数据不会受到任何影响
在这里插入图片描述
如果在开启事务multi的情况下, 2条redis语句都不存在语法错误, 但是只有一条执行成功的话, 并且还能提交. 只能多注意. .
在这里插入图片描述

watch(监视, 如果数据在事务在未提交的情况下更改,则不做提交操作)

在这里插入图片描述

商品秒杀实例

$redis = new Redis();
$redis->connect('localhost');
//创建100个商品
/*for ($i=0; $i<100;$i++){
    $redis->lpush('goodstore',1);
}
//将这个存储商品的链表名设定为90
$redis->expire('goodstore',90);*/
//用户每登录一个则进行依次删除, 也就抢购
$id = $redis->lPop('goodstore');
if(!$id){
    echo "fail";
}else {
    echo 'successs';
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值