smarty静态缓存
缓存能让程序访问起来更加快速,调数据库的数量变少,不能实时的跟数据库同步,
一般缓存文件都放在smarty文件下cach文件夹中;
建立缓存的PHP和HTML文件;
先编辑PHP文件来查询显示数据库当中的文件;
<?php
//定义 相对于这个页面的一个文件保存路径
$filname ="../cache/huancun.html"; //查询数据并显示
include("../init.inc.php");
include("../dbda.class.php");
$db= new dbda();
$sql = "select * from car";
$arr = $db->query($sql); $smarty->assign("shuzu",$arr);
$smarty->display("huancun.html");//调用display模版显示
在建立HTML用来显示的样式
<h1>数据列表</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名称</td>
<td>操作</td>
</tr>
<{foreach $shuzu as $v}>
<tr>
<td><{$v[0]}></td>
<td><{$v[1]}></td>
<td>操作</td>
</tr>
<{/foreach}>
显示结果如下
然后在PHP文件中加入缓存的代码; 打开网页就会显示,刷新一遍就会直接取问价夹中找了
<?php
//定义 相对于这个页面的一个文件保存路径
$filname ="../cache/huancun.html";//缓存文件存放的位置 //判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在,重新缓存
if(file_exists($filname))//判断文件是否存在
{
include($filname);//直接拿来显示
}
else{
//重新缓存
ob_start();//开启内存缓存 //查询数据并显示
include("../init.inc.php");
include("../dbda.class.php");
$db= new dbda();
$sql = "select * from car";
$arr = $db->query($sql); $smarty->assign("shuzu",$arr);
$smarty->display("huancun.html");//调用display模版显示 //从缓存里取内容
$str = ob_get_contents();
file_put_contents($filname,$str);//保存缓存 ob_flush();//关闭内存缓存
echo"WOWKWJWJWKJWKWJKWJWKWJWKJWKJW"; }
实线缓存后就会存到以下的文件夹中;
加缓存时间
$time = 10;//缓存有效期10s //判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在,重新缓存
if(file_exists($filname) && filemtime($filname)+$time>=time())//判断文件是否存在 上一次修改时间加个条件修改时间大于当前时间。
给页面加分页
$sall = "select count(*) from car ";
$zts = $db->Strquery($sall);
include("../page.class.php");
$page = new Page($zts,5); $smarty->assign("fpage",$page->fpage());
让页面默认选第一页; 因为不可能只访问一个一页面所以要实现多个页面;
$p = 1;
if(!empty($_GET["page"]))
{
$p = $_GET["page"];
}
//定义 相对于这个页面的一个文件保存路径
$filname ="../cache/huancun{$p}.html";//缓存文件存放的位置
smarty静态缓存的更多相关文章
- php静态缓存简单制作
制作缓存的目的是为了让我们的页面运行更加快速,减少读取数据库内容的次数,给用户更好的体验,为此我们可以使自己的程序做一下缓存,并且设置一个缓存过期的时间,来保证与数据库的一致,当然并不是所有的程序都适 ...
- ThinkPHP 3.2.3 数据缓存与静态缓存
ThinkPHP 3.2.3 中手册中数据缓存的地址是:http://www.kancloud.cn/manual/thinkphp/1835 静态缓存的地址是:http://www.kancloud ...
- APP 接口开发及读取静态缓存
<?php /** * Description: App 接口 * Create date:2015-10-19 13:36 * Author: zhaoyingnan **/ class Re ...
- PHP 开发 APP 接口 学习笔记与总结 - 静态缓存
存储静态缓存即把缓存写入文件. file.php <?php class Cache{ //静态缓存文件后缀名 const EXT = 'txt'; //定义缓存文件存放路径 private $ ...
- ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)
1.使用Ueditor编辑器,插入代码后,显示的时候高亮显示,需要调用Ueditor中的第三方插件third-party中的SyntaxHighlighter 调用方法: 引入CSS和JS文件,并调用 ...
- PHP 静态缓存
今天来说说PHP页面的静态缓存. 根据个人理解,由于客户端重复的请求某个页面,导致该页面短时间内被重复请求相同的数据,导致给服务端一定的压力,同时用户访问速度也会变慢.此时如果把这个页面缓存起来,客户 ...
- thinkphp的静态缓存,数据缓存,快速缓存,查询缓存
// 静态缓存 // 'HTML_PATH' 缓存目录,这是个常量不是配置项,在入口文件中定义 // 'HTML_CACHE_ON' => true, // 开启静态缓存 'HTM ...
- Thinkphp路由配置和静态缓存规则【原创】
ThinkPHP框架对URL有一定的规范,所以如果你希望定制你的URL格式的话,就需要好好了解下内置的路由功能了,它能让你的URL变得更简洁和有文化. 首先我们在Common/config.php设置 ...
- Thinkphp 缓存和静态缓存局部缓存设置
1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S(' ...
随机推荐
- 前端优化之Combo Handler
Combo Handler来合并CSS/JS文件 背景 Combo Handler是Yahoo!开发的一个Apache模块,它实现了开发人员简单方便地通过URL来合并JavaScript和CSS文件, ...
- cocoapods集成三方库遇到的坑
什么都不想说直接上图 这是最近在管理三方库时遇到头疼的问题,刚开始一直怀疑是cocoapods或者ruby的版本问题但是升级到最新版还是同样的错误,后来又怀疑是资源文件的问题但是在同一时间不同地点集成 ...
- python-re之中文匹配
#coding=utf-8 import re import chardet#检测网页编码形式的模块 p = re.compile(r'\d+') print p.findall('one1two2t ...
- Java开发笔记(一百零四)普通线程池的运用
前面介绍了线程的基本用法,以及多线程并发的问题处理,但实际开发中往往存在许多性质相似的任务,比如批量发送消息.批量下载文件.批量进行交易等等.这些同类任务的处理流程一致,不存在资源共享问题,相互之间也 ...
- Codeforces 597C 子序列
题面 [题目描述] 给你一个包含n个不同元素的序列,让你求出在这个序列中有多少个长度为k+1的上升子序列.保证答案不会超过8*10^18. [输入描述] 第一行包括两个正整数n和k(1<=n&l ...
- Zabbix 企业Nginx监控
Zabbix监控Nginx状态 1 修改Nginx配置文件,开启Nginx监控 location /nginx_status { stub_status on; access_log off; all ...
- HTTP Range - [Web开发]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://minms.blogbus.com/logs/39569593.html 所谓 Range,是在 HTTP/1.1(htt ...
- weblogic的集群与配置图文方法
一.Weblogic的集群 还记得我们在第五天教程中讲到的关于Tomcat的集群吗? 两个tomcat做node即tomcat1, tomcat2,使用Apache HttpServer做请求派发 ...
- android windowSoftInputMode属性详解(转)
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一]当有焦点产生时,软键盘是隐藏还是显示 [二]是否减少活动 ...
- supervisor开机自启动方法
配置service类型服务 #!/bin/bash # # supervisord This scripts turns supervisord on # # Author: Mike McGrath ...