淺談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') {
//執(zhí)行邏輯
$redis->del('like');
continue;
}
} else {
usleep(5000);
}
} while (!$isLock);
//redis事務(wù)
$redis->set();
$redis->watch(['number', 'like']);
到此這篇關(guān)于淺談redis加鎖常用幾種方式的文章就介紹到這了,更多相關(guān)redis 加鎖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis擊穿穿透雪崩產(chǎn)生原因分析及解決思路面試
這篇文章主要為大家介紹了Redis擊穿穿透雪崩產(chǎn)生原因及解決思路的面試問題答案參考,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步2022-03-03
RedisTemplate序列化設(shè)置的流程和具體步驟
在使用 Redis 作為緩存數(shù)據(jù)庫時,我們通常會使用 RedisTemplate 來簡化與 Redis 進(jìn)行交互的操作,而其中一個重要的配置項就是序列化設(shè)置,它決定了數(shù)據(jù)在存儲到 Redis 中時的格式,本文將介紹如何進(jìn)行 RedisTemplate 的序列化設(shè)置,以及一些常見的序列化方案2024-11-11
Redis 數(shù)據(jù)庫忘記密碼找回或重置的解決方法
對于 Redis 數(shù)據(jù)庫,如果忘記了密碼,可以通過密碼重置來找回密碼,今天通過本文給大家分享Redis 數(shù)據(jù)庫忘記密碼找回或重置的解決方法,感興趣的朋友一起看看吧2024-01-01
Redis優(yōu)化token校驗(yàn)主動失效的實(shí)現(xiàn)方案
在普通的token頒發(fā)和校驗(yàn)中 當(dāng)用戶發(fā)現(xiàn)自己賬號和密碼被暴露了時修改了登錄密碼后舊的token仍然可以通過系統(tǒng)校驗(yàn)直至token到達(dá)失效時間,所以系統(tǒng)需要token主動失效的一種能力,所以本文給大家介紹了Redis優(yōu)化token校驗(yàn)主動失效的實(shí)現(xiàn)方案,需要的朋友可以參考下2024-03-03
在Ubuntu?14.04系統(tǒng)上備份和恢復(fù)Redis數(shù)據(jù)詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于在Ubuntu?14.04系統(tǒng)上備份和恢復(fù)Redis數(shù)據(jù)的詳細(xì)步驟,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis具有一定的參考借鑒價值,需要的朋友可以參考下2024-04-04
基于 Redis 的 JWT令牌失效處理方案(實(shí)現(xiàn)步驟)
當(dāng)用戶登錄狀態(tài)到登出狀態(tài)時,對應(yīng)的JWT的令牌需要設(shè)置為失效狀態(tài),這時可以使用基于Redis 的黑名單方案來實(shí)現(xiàn)JWT令牌失效,本文給大家分享基于 Redis 的 JWT令牌失效處理方案,感興趣的朋友一起看看吧2024-03-03
Linux系統(tǒng)下安裝Redis數(shù)據(jù)庫過程
大家好,本篇文章主要講的是Linux系統(tǒng)下安裝Redis數(shù)據(jù)庫過程,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
如何在centos中安裝redis插件bloom-filter
布隆過濾器在第一次add的時候自動創(chuàng)建基于默認(rèn)參數(shù)的過濾器,Redis還提供了自定義參數(shù)的布隆過濾器,下面這篇文章主要給大家介紹了關(guān)于如何在centos中安裝redis插件bloom-filter的相關(guān)資料,需要的朋友可以參考下2021-11-11

