欢迎来到天天文库
浏览记录
ID:49199959
大小:75.00 KB
页数:16页
时间:2020-03-01
《php缓存技术实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PHP缓存技术实现发个PHP缓存实现,实现了ape和文件缓存,继承Cache__Abstract即可实现调用第三方的缓存工具。参考shindig的缓存类和ape。Php代码
2、量*@paramstring$value缓存变量的值*@returnboolabstractpublicfunctionstore($key,$value);/***删除缓存变量**@para.mstring$key缓存下标*@returnCacheAbstract*/abstractpublicfunctiondelete($key);/***清(删)除所有缓存**@returnCacheAbstract*/abstractpublicfunctionclear();/***锁定缓存变量*@r
3、eturnCacheAbstractabstractpublicfunctionlock($key);/***缓存变量解锁**@paramstring$key缓存下标*@returnCacheAbstract*/abstractpublicfunctionunlock($key);/***取得缓存变量是否被锁定**@paramstring$key缓存下标*@returnbool*/abstractpublicfunctionisLocked($key):/***确保不是锁定状态*最多做$trie
4、s次睡眠等待解锁,超吋则跳过并解锁publicfunctioncheckLock($key){if(!$this~>isLocked($key)){return$this;}$tries=10;$count二0;do{usleep(200);$count++;}while($count<=$tries&&$this->isLocked($key))://最多做十次睡眠等待解锁,超时则跳过并解锁$this->isLocked($key)&&$this->unlock($key):return$th
5、is:/***APC扩展缓存实现**@categoryMjie*@packageCache流水孟春*@copyrightCopyright(c)2008-*@licenseNewBSDLicense*@version$Id:Cache/Ape.php版本号2010-04-1823:02empan$*/classCacheApeextendsCacheAbstract{protected$_prefix二Jcache.mjie.net?;publicfunctio
6、nconstruct(){if(!function^exists(?apc_cacheinfo')){thrownewCacheException(?apeextensiondidn,tinstalled');ij/***保存缓存变量**@paramstring$key*@parammixed$value*@returnbool*/publicfunctionstore($key,$value){returnapc_store($this->storageKey($key),$value);/
7、删除缓存单元**@returnCache.Ape*/publicfunctiondelete($key){*读取缓存**@paramstring$key*@returnmixed*/publicfunctionfetch($key){returnapc^fetch($this->storageKey($key));*清除缓存**@returnCacheApe*/publicfunctionclear(){apc^clear^cache();return$this;apc_delete($this
8、->_storageKey($key));return$this;/***缓存单元是否被锁定**@para.mstring$key*@returnbool*/publicfunctionisLocked($key){if((apefetch($this->storageKey($key)・'・lock'))二二二false){returnfalse;returntrue:/***锁定缓存单元**@para.mstring$key*@returnCacheApe*/publicfunctionlo
此文档下载收益归作者所有