簡單介紹redis加鎖常用幾種方式
這篇文章主要介紹了淺談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加鎖常用幾種方式的文章就介紹到這了,感謝大家的支援。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2748345/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分散式鎖簡單入門以及三種實現方式介紹分散式
- 簡單介紹mysql中資料庫覆蓋匯入的幾種方式MySql資料庫
- 簡單介紹Go語言常用的打log方式Go
- 簡單介紹MySQL索引失效的幾種情況MySql索引
- 簡單介紹MySQL開啟事務的兩種方式MySql
- SQL隱碼攻擊的檢測方式有幾種?常用方法介紹!SQL
- Java中幾種常用的RPC框架介紹JavaRPC框架
- 簡單介紹apache虛擬主機配置的三種方式Apache
- 簡單介紹python連線telnet和ssh的兩種方式Python
- 幾種常見網路抓包方式介紹
- 簡單介紹redis分散式鎖解決表單重複提交的問題Redis分散式
- 幾種常用設計模式的簡單示例設計模式
- 常用鎖原理的介紹(上)
- Redis持久化的兩種方式的優缺點介紹Redis持久化
- 【Redis】常用命令介紹Redis
- 簡單介紹MySQL列印死鎖日誌的方法MySql
- 幾種新DevOps工具介紹dev
- mysql鎖之三種行級鎖介紹MySql
- sqlplus常用的幾種登入方式SQL
- 簡單介紹下各種 JavaScript 解析器JavaScript
- 簡單介紹python自動化運維常用庫Python運維
- Map簡單介紹
- SVG簡單介紹SVG
- Clickjacking簡單介紹
- 【Pandas】簡單介紹
- ActiveMQ簡單介紹MQ
- JSON簡單介紹JSON
- RPC簡單介紹RPC
- Python簡單介紹Python
- KVM簡單介紹
- RMI簡單介紹
- HTML簡單介紹HTML
- HTML 簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- CSS 簡單介紹CSS
- ajax簡單介紹
- 歸納避免同步鎖的幾種方式
- 分散式鎖的幾種實現方式~分散式