介绍
这篇文章给大家介绍怎么在php项目中自定义一个复述,缓存类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
php +复述,缓存类
& lt; php ? class redisCache  { ,/* * *,才能host 美元;:,复述,服务器ip *,才能port 美元;:,复述,服务器端口 *,才能lifetime 美元;:,缓存文件有效期,单位为秒 *,才能cacheid 美元;:,缓存文件路径,包含文件名 ,*/private 才能;美元主机; private 才能;美元港口; private 才能;美元一生; private 才能;cacheid美元; private 才能;$数据; public 才能;美元复述; ,/* * *才能,析构函数,检查缓存目录是否有效,默认赋值 ,*/function 才能__construct(一生=1800美元),{ ,,,//配置 ,,,这个→美元host =,“127.0.0.1"; ,,,这个→美元port =,“6379”; ,,,redis 美元;=,new 复述(); ,,,复述,→美元pconnect ($ this→主机、$ this→端口); ,,,这个→美元复述,复述,美元=; ,,,这个→美元cacheid =, $ this→getcacheid (); ,,,这个→美元lifetime =,一生美元; ,,,这美元→数据=https://www.yisu.com/zixun/$复述-> hMGet ($ this -> cacheid,数组(“内容”、“creattime”));//print_r ($ this ->复述);//print_r ($ this ->数据); }/* * *检查缓存是否有效 */私有函数isvalid () { $=$ this ->数据; 如果(! $ data[‘内容’])返回false; 如果(时间()- $ data [' creattime ']> $ this ->一生)返回false; 返回true; }/* * *写入缓存 * $模式==0,以浏览器缓存的方式取得页面内容 */公共函数编写(模式=0,内容="美元){ 开关(模式){ 例0: $内容=ob_get_contents (); 打破; 默认值: 打破; } ob_end_flush (); 尝试{ $ this ->复述-> hMset ($ this -> cacheid,数组(“内容”=>内容,美元“creattime”=>时间())); $ this ->复述-> expireAt ($ this -> cacheid,时间()+ $ this ->一生); } 捕获(异常$ e) { $ this ->错误(“写入缓存失败!”); } }/* * *加载缓存 *出口()载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存 * ob_start()开启浏览器缓存用于在页面结尾处取得页面内容 */公共函数load () { 如果($ this -> isvalid ()) { echo $ this ->数据(“内容”); 退出(); } 其他{ ob_start (); } }/* * *清除缓存 */公共函数清洁(){ 尝试{ $ this ->复述-> hDel ($ this -> cacheid,数组(“内容”、“creattime”)); } 捕获(异常$ e) { $ this ->错误(“清除缓存失败!”); } }/* * *取得缓存文件路径 */私有函数getcacheid () { 返回$ this -> dir.md5 ($ this -> geturl ()) $ this -> ext; }/* * *取得当前页面完整的url */私有函数geturl () { $ url="; 如果收取($ _SERVER [' REQUEST_URI '])) { $ url=$ _SERVER [' REQUEST_URI ']; } 其他{ $ url=$ _SERVER [' Php_SELF ']; $ url。=空($ _SERVER [' QUERY_STRING ']) ?”:‘?’。$ _SERVER [' QUERY_STRING ']; } 返回$ url; }/* * *输出错误信息 */私有函数误差(str) { 回声。str美元。”; } }//用法://require_once (“redisCache.php”);//缓存美元=new redisCache (10);//设置缓存生存期//如果美元($ _GET [' clearCache '])缓存->清洁();//其他$缓存-> load ();//装载缓存,缓存有效则不执行以下页面代码////页面代码开始////页面代码结束//缓存->写();//首次运行或缓存过期,生成缓存 ?>
关于怎么在php项目中自定义一个复述,缓存类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。