浅谈redis加锁常用几种方式
一、incr加锁
connect('127.0.0.1'); $redis->multi(); $redis->incr('number'); //$redis->decr('number'); //$redis->expire('number',-1); var_dump($redis->get('number')); var_dump($redis->ttl('number'));
二、setnx加锁
setnx('name','felix'); var_dump($redis->get('name')); var_dump($redis->ttl('name'));
三、set加锁
set('like','chuangxi',['nx','ex'=>10]); //$redis->del('like'); var_dump($redis->get('like')); var_dump($redis->ttl('like'));
四、防止死锁
set('like','a',['nx','ex'=>10]); if($isLock){ if($redis->get('like')=='a'){ //执行逻辑 $redis->del('like'); continue; } }else{ usleep(5000); } }while(!$isLock); //redis事务 $redis->set(); $redis->watch(['number','like']);
到此这篇关于浅谈redis加锁常用几种方式的文章就介绍到这了,更多相关redis加锁内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。