php缓存未实践先理论
使用缓存技术的理由?当然是提高网站的访问速度!
听到php缓存技术是什么时候?不记得了,呵呵,工作当中一直没注意这个。恼火~~
今天疯狂Google了一下,或多或少了解了一些东西,那就简单的归纳一下吧,各位看官别扔砖头!
缓存技术分为动态缓存技术和静态缓存技术,对于那些PV不是很大的中小型网站使用动态缓存技术估计也就差不多了,但对于PV很大的网站还得使用静态缓存技术。
缓存,那到底缓存些个啥呢?
一、缓存数据
adodb就是缓存的数据,当第一次执行某条数据库查询的时候,adodb会将本次查询获取的结果集进行缓存,下次再执行相同的sql语句时就不用再次对数据库进行操作了,挺好~!~
二、页面缓存
用了很久的smarty,一直没想过去研究smarty的缓存技术,今天看了,恩,它就是页面缓存。哈哈!~!~可惜,每次还得php解析一次的哦~~
阿弥陀佛~!~
那么缓存何时更新呢?什么情况下更新呢?
PHP缓存技术之时间触发缓存:
检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用,否则请看下面。
PHP缓存技术之内容触发缓存:
当插入数据或更新数据时,强制更新缓存。
在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。
上述方法每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。
相关文档:
<?php
function page ( $totalPage , $currentPage,$url ,$halfPer=5)
{
$total=$totalPage-1;
$re="<td><a href="\" mce_href="\""$url\" onclick=\"page=prompt('共{$totalPage}页\\n自定义跳转到第几页:','');if(page>0&&page<$total)location.href=this.href+'='+(page-1);r ......
可以使用的命令:
popen
fpassthru
shell_exec
exec
system
1.popen
resource popen
( string command, string mode )
打开一个指向进程的管道,该进程由派生给定的 command
命令执行而产生。
返回一个和 fopen()
所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose()
来关闭 ......
1
<?
2
/*
*
3
* filename: ext_page.class.php
4
* @package:phpbean
5
* @author :feifengxlq<feifengxlq#gmail.com><[url=http://www.phpobject.net/]http://www.phpobject.net/[/url]>
& ......
< type="text/javascript">
smarty 可以生成,
其实生成的原理很简单
1、获取你动态页面得内容
2、写入静态文件
比如:
<?
//获取文件内容
$content=file_get_contents(http://www.www.com/viewPage.php?id=$id
);
//检查是否存在旧文件,有则删除
i ......
第一章 PHP概述
1、 基本语法
a) 要把php嵌入页面,可以把它放在PHP标签内
<?php ?>
b) 在body标签结束之前,插入php代码
c)   ......