我是靠谱客的博主 飞快水蜜桃,这篇文章主要介绍Redis 并发加锁,现在分享给大家,希望可以做个参考。

并发加锁
如果不是redis 集群,可以用multi
如果是集群就不行了,因为访问的redis是随机的

function lock($id,$expire){
$id = "lock_".$id;
$now = time();
$expireTime = $now + $expire;
$redis = Factory::getRedis();
$reult = $redis->setnx($id,$expireTime);
if($result){//获得锁
return true;
}
//防止死锁判断过期
$value = $redis->get($id);
//锁过期
if($value <= $now){
//竞争获取锁
$value = $redis->getSet($id,$expireTime);
if($value <= $now){
return true;
}
}
return false;
}

最后

以上就是飞快水蜜桃最近收集整理的关于Redis 并发加锁的全部内容,更多相关Redis内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部