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加锁常用几种方式的文章就介绍到这了,感谢大家的支持。

以上是 redis加锁常用几种方式 的全部内容, 来源链接: www.h5w3.com/122381.html

回到顶部