pipeline.watch如何监视没有数据的记录

pipeline.watch如何监视没有数据的记录

比如现在需求是,假设redis中 没有 username这条记录,我想开启监视,若username这条记录不存在,则线程可以创建username这个记录(值随便)。在多线程并发的时候,只有一个线程可以创建username记录,创建后,其他并发的线程就不能修改。这要怎么实现?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

这个代码已经实现了同学想要的功能。

http://img1.sycdn.imooc.com//climg/5df0a0c20922ab3006120036.jpg

执行秒杀程序时,将已有的秒杀用户全部删除。

因此

http://img1.sycdn.imooc.com//climg/5df0a15109094a1507240722.jpg

在监视时,没有用户的记录,当抢购后才会穿创建用户的记录。而且由于watch方法的监视,其他事务无法去操作当前的事务,如果被操作会抛出WatchError异常。

如果我解决了同学的问题,请采纳!学习愉快^_^。


  • 慕丝1539783 提问者 #1
    明白了,原来pipeline()也能用于监视没有记录的数据。只要在开始监视后,加上一个判断该键是否存在的语句就行了。谢谢老师!
    2019-12-11 17:46:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师