缓存
做缓存的目的是为了让程序运行起来更加迅速。因为如果程序访问数据库时数据量较大,执行起来会比较慢。而且每一次刷新页面都会访问依稀数据库,然后再把数据显示在页面上。
设置缓存也有一个缺点,那就是缓存时间要设置好,如果缓存时间较长,那么数据库数据变化时,不能及时的在页面上显示。例如缓存不能用在秒杀商品,或者出售商品上面,因为数量不能及时的更新。
1 Query($sql);25 $smarty->assign("nation",$attr);26 $smarty->display("test.html");27 28 //把内存里面的内容读出来29 $nr = ob_get_contents();//ob就是代表的缓存,读取的内容就是整个静态页面。30 31 //将读到的内容存放到缓存文件32 file_put_contents($filename,$nr);//get是取出内容,put是往里放内容,把内存缓存的文件存到¥filename里面。33 34 35 //清除内存缓存36 ob_flush();//把内存缓存的内容清除掉,不让它们继续留在缓存内存里面,但是需要缓存的内容已经放在了$filename里面了,已经保存下来了。37 38 echo "#############################";//输出内容加上一句话,观察输出内容是输出的缓存页面还是加载数据库的页面。这句话放在了ob_flush后面,不会被清除掉。39 }40 else//如果缓存文件存在,直接将缓存文件拿到页面显示。41 {42 include($filename);//将缓存的页面加载到显示页面中43 }
下面是test.html文件内容
1 2 3 4 5无标题文档 6 7 8 9
代号 | 12名称 | 13
<{ $v[0]}> | 17<{ $v[1]}> | 18