redis常见的加锁操作

们经常用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常见的加锁操作
网址分享:http://www.shufengxianlan.com/qtweb/news44/82744.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联