新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
redis常見(jiàn)的加鎖操作
們經(jīng)常用redis進(jìn)行加鎖操作,目的是為了解決并發(fā)可能帶來(lái)的問(wèn)題。但是使用redis加鎖的方式有多種,本文對(duì)常見(jiàn)的幾種方式進(jìn)行解析

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)建站推出金溪免費(fèi)做網(wǎng)站回饋大家。
一、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') {
//執(zhí)行邏輯
$redis->del('like');
continue;
}
} else {
usleep(5000);
}
} while (!$isLock);
//redis事務(wù)
$redis->set();
$redis->watch(['number', 'like']);
網(wǎng)站名稱:redis常見(jiàn)的加鎖操作
文章起源:http://www.5511xx.com/article/cojjpjg.html


咨詢
建站咨詢
