Redis事务、锁应用、消息订阅

本文介绍了Redis中的简单事务机制,包括其与MySQL事务的区别、如何使用watch指令实现乐观锁及消息订阅功能的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Redis支持简单的事务(不支持回滚)!

Redis与mysql事务的对比:

 mysqlredis
开启start    transactionmuitl
语句普通sql普通命令
失败rollback     回滚discard     取消
成功commitexec

注:当redis中的命令exec执行以后,discard取消是没有用的,只有exec之前(队列中),discard才会有效!

二、要想解决以上问题可以运用“watch”来监听;(运用“乐观锁”,场景:抢票)

watch  key1 key2  keyn                 作用:监听key1  key2  keyn有没有变化,如果有变化,则事务取消

unwatch                                          作用:取消所有的监听

注:rollback与discard的区别!

如果已经成功执行前2条语句,第3条语句出错;

rollback后,前俩条语句影响会失效;  而  discard只是结束本次事务,前2条影响还在;

注:在muitl后面的语句中,语句出错可能有2中情况!

1:语法就有问题:这种exec时:报错,所有语句得不到执行;

2:语法本身没有错,但适用对象有问题,比如zadd操作link对象Exec之后,会执行正确的语句,并跳过有不适合的语句;

 三、消息订阅(发布与订阅)

publish -> 频道 -> subscribe    (publish news   内容--发布新闻内容 ;  subscribe  news ---订阅频道) 适宜做在线聊天,消息推送;

案例:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值