首页 > php教程 > php手册 > 正文

[开源]phplock(php进程锁) v1.0 beta1

php中文网
发布: 2016-06-06 19:46:55
原创
1384人浏览过

[开源]phplock(php进程锁) v1.0 beta1 PHP在多进程模式下(并发的web访问)由于没有内置的锁支持,在处理一些资源的之后,很容易出现并发性问题。 在web开发中我们经常对我们的数据库耗时操作做缓存,但是可能出现一个陷阱,在缓存失效的一瞬间,大量的访问

                                                          [开源]phplock(php进程锁) v1.0 beta1

 

      PHP在多进程模式下(并发的web访问)由于没有内置的锁支持,在处理一些资源的之后,很容易出现并发性问题。

在web开发中我们经常对我们的数据库耗时操作做缓存,但是可能出现一个陷阱,在缓存失效的一瞬间,大量的访问得到缓存失效的标示,都去后端查询数据库,导致

同时大量的数据库耗时查询,出现数据库宕机等问题。此问题隐藏深,不容易查找。本项目主要用于解决php的进程间锁问题。

课游记AI
课游记AI

AI原生学习产品

课游记AI 168
查看详情 课游记AI

立即学习PHP免费学习笔记(深入)”;

 

示例:

<?php<br /><br />/**<br /> * 测试例子,同时打开两个页面,可以发现总是同时只能一个页面进入到锁区间的代码<br /> * @link http://code.google.com/p/phplock/<br /> * @author sunli<br /> * @svnversion  $Id: test.php 2 2009-11-24 07:14:27Z sunli1223 $<br /> * @version v1.0 beta1<br /> * @license Apache License Version 2.0<br /> * @copyright  sunli1223@gmail.com<br /> */<br /><br />require 'class.phplock.php';<br /><br />$lock = new PHPLock ( 'lock/', 'lockname' );<br />$lock->startLock ();<br />$lock->startLock ();<br />//process code<br />echo "<span>进入锁</span><br />\r\n";<br />ob_end_flush();<br />flush();<br />ob_flush();<br />sleep ( 5 ); //休眠20秒,模拟并发操作<br />echo "执行完成<br />\r\n";<br />$lock->unlock ();<br />$lock->endLock ();<br />echo "释放锁完成<br />\r\n";<br /><br />/**<br /> * cache操作<br /> *<br /> * @return $array<br /> */<br />function getCache($key) {<br />	return $cache;<br />}<br />/**<br /> * 设置缓存<br /> *<br /> * @param string $key<br /> * @param array $value<br /> */<br />function setCache($key,$value) {<br />	<br />}<br />$cache=getCache($key);<br />if (! $cache) {<br />	//缓存不存在,开始加锁<br />	$lock = new PHPLock ( 'lock/', $key );<br />	$lock->startLock ();<br />	$lock->startLock ();<br />	//尝试判断缓存是否有数据,可能已经有访问重建缓存了,就不需要再次查询数据库<br />	$cache=getCache();<br />	if(!$cache){<br />		//数据库查询操作,代码省略了<br />		$data=$dbdata;<br />		setCache($key,$data);<br />	}<br />	//释放锁<br />	$lock->unlock ();<br />	$lock->endLock ();<br />}<br /><br /><br /><br /><br />?><br />项目地址:http://code.google.com/p/phplock/<br />
登录后复制
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号