php局部缓存,Smarty局部缓存的几种方法简介_php实例
很多时候我们在用smarty时,并不希望缓存整个页面,例如天气、股票等这类即时更新的信息。那么我们可以让其不缓存,常见的实现有如下3种方法:
1.insert 法:
Insert 函数类似于 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数。比如说我们定义一个显示时间的函数:
复制代码 代码如下:
function insert_get_current_time() {
return date("H:i:s");
}
//然后在模板中:
{insert name="get_current_time"}
这样每次打开页面,显示的都是即时时间,而不是缓存的。注意这里的函数名一定要以insert开头,模板中的name与之对应。如果我们的函数包含一些参数,那么我们的在模板中可以这样:
复制代码 代码如下:
{insert name="get_current_time" lid=#banner_location_id# sid=#site_id#}
//那么Smarty 调用该函数类似insert_get_current_time(array("lid"=>"12345","sid"=>67890"));
并将返回的结果显示在调用的位置。
2.动态block 法:
在smarty代码中:
复制代码 代码如下:
function smarty_block_nocache($param,$content,$smarty)
{
return $content;
}
$smarty->register_block('nocache','smarty_block_nocache',false);
在模板文件中:
复制代码 代码如下:
//这里放不需要被缓存的内容
3.插件block法: 这个跟block差不多,只是我们将其以插件的形式来做。在Smarty/plugins目录下建一个文件:block.nocache.php,这里命名一定要规范,否则smarty识别不了。 内容如下:
复制代码 代码如下:
function smarty_block_nocache($param,$content,$smarty)
{
return $content;
}
在模板中和上面一直,不需要被缓存的地方加上nocache就可以了!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php局部缓存,Smarty局部缓存的几种方法简介_php实例相关推荐
- MySQL关闭查询缓存(QC)的两种方法
MySQL Query Cache 会缓存select 查询,安装时默认是开启的,但是如果对表进行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP ...
- SLAM 建立局部二维栅格地图的一种方法
转载请说明出处:http://blog.csdn.net/zhubaohua_bupt/article/details/72923373 二维占据栅格地图(栅格地图)广泛应用于移动机器人导航领域中,比 ...
- 明白了缓存穿透和缓存雪崩,再了解一下缓存击穿!
作者 l 会点代码的大叔(CodeDaShu) 在往期文章中,我们介绍了缓存穿透和缓存雪崩,其中缓存雪崩,是对于一些设置了过期时间的 key,在某个时间点集体失效后,有大量的请求落到数据库上导致被击垮 ...
- 缓存、缓存算法和缓存框架简介
英文原文:jtraining,译文:Lixiang 引言 我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准 ...
- django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决
django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决 参考文章: (1)django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决 (2)https://www.cnblog ...
- java如何做全局缓存_传智播客JNI第七讲 – JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式...
讲解JNI中的全局引用/局部引用/弱全局引用.缓存jfieldID和jmethodID的两种方式,并编写两种缓存方式的示例代码. 1.从Java虚拟机创建的对象传到本地C/C++代码时会产生引用,根据 ...
- php smarty关闭缓存,php+Smarty的缓存操作
一.使用缓存 要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可. 使用cache_lefetime指定缓存生存时间,单位为秒 要对相同页面生成多个不同的缓存,在 ...
- java 全局缓存_java本地缓存
1.为什么要使用缓存 由于服务器.数据库.网络等资源有限,无法支撑越来越多的请求与计算量,所以将一部分数据放在缓存中,以此减小薄弱环节的计算量和请求流程. 网站中缓存的应用场景:1:可以缓存整个页面的 ...
- .net html5页面缓存技术,.net缓存技术详解
动态缓存(1)-传统缓存 与 页面输出缓存 面详细介绍在<系统缓存全解析一>中提及的动态缓存技术: 一,传统缓存方式: 比如将可重复利用的东西放到Application或是Session中 ...
- 一级缓存和二级缓存的理解
首先补充下CPU的知识: CPU也就是中央处理器,相当于计算机的大脑: CPU是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit): CPU功能主要是解 ...
最新文章
- Deep Learning基础理论--Classification RBM
- 接口隔离原则_设计模式六大原则
- mysql待办事项表名_SSD8-Ex4待办事项列表答案参考
- 全国职称计算机吧,全国职称计算机考试Excel2003大纲
- Mysql允许root用户远程访问
- 项目心得--我的尺寸测量项目
- 在自动驾驶技术上,一向自信满满的马斯克也承认了特斯拉的不足
- Java毕业设计-社区疫情防控管理系统
- 中国行政区边界shp下载(省,市,县)
- 机器学习-预测之BP神经网络模型原理及实战
- php mysql是bs还是cs_bs和cs架构的区别是什么
- Intellij IDEA创建Scala项目
- 木兰词·拟古决绝词柬友
- 两条纵坐标折线图绘制
- 【学习笔记】原根 + 欧拉定理 + 威尔逊定理
- 我在阿里三年的运营经都在这儿了
- Python丨Django实现微电影网站
- python朴素贝叶斯的文本分类_自给自足,完全手写一个朴素贝叶斯分类器,完成文本分类...
- 专注云原生落地,星汉未来成为开源 GitOps 产业联盟会员
- gmtsar哨兵一号卫星两景数据拼接
热门文章
- 解决wordpress用户注册时,点击邮件中的重置密码链接提示“您的密码重设链接无效”
- linux目录分配独立磁盘空间,Linux 分配/home的磁盘空间给根目录
- STM32——库函数版——数码管动态显示程序
- python rsi_使用python与rsi进行算法交易
- java图片的缩放_Java的图片自动缩放
- 自动驾驶 2-4 环境表示 Environment Representation
- Google Code Review 如何编写代码评论
- java lambda有必要_深度分析:java8的新特性lambda和stream流,看完你学会了吗?
- Kaggle酒推荐,winemag-data-130k-v2.csv
- 470.用Rand7()实现Rand10()