php redis锁防止并发

PHP 投稿 10700 0 评论

php redis锁防止并发

工作间隙写了个redis防并发的锁示例,以备以后参考,前面写过利用文件锁防并发的代码,但考虑到效率以及分布式系统,文件锁会有弊端,而这种情况下redis则没有问题。


<?php
$redis=new Redis;
$redis->connect('127.0.0.1',6379);
$userid='23';
$articleid='126';
//开始加锁
$key=md5($userid.$articleid);
//设置不可重复
$result=$redis->setnx($key,'1',5);
if(!$result){
	echo '您访问太频繁了,请稍后访问!';
	$redis->delete($key);
	exit;
}

/*
 * 正常业务逻辑
 */
 
$redis->delete($key);

编程笔记 » php redis锁防止并发

赞同 (53) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽