常用的加鎖方式有:
(學習視頻分享:redis視頻教程)
一、incr加鎖
<?php $redis = new Redis(); $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視頻教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦