您好,登錄后才能下訂單哦!
這篇文章主要介紹了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加鎖的常用方式是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。