redis加锁的常用方式是什么
这篇文章主要介绍了redis加锁的常用方式是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
常用的加锁方式有:
一、incr加锁
<?php$redis=newRedis();$redis->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加锁
<?php$redis->setnx('name','felix');var_dump($redis->get('name'));var_dump($redis->ttl('name'));
三、set加锁
<?php$redis->set('like','chuangxi',['nx','ex'=>10]);//$redis->del('like');var_dump($redis->get('like'));var_dump($redis->ttl('like'));
四、防止死锁
<?php$isLock=false;do{$isLock=$redis->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加锁的常用方式是什么”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。