php—Smarty-缓存1(25),phpsmarty-缓存25_PHP教程
php—Smarty-缓存1(25),phpsmarty-缓存25
一、 缓存原理:
IE:将资源文件保存至本地
Smarty:将缓存保存到服务器
编译
二、 为什么使用缓存技术
1、提升网站访问速度
2、减轻web服务器压力
3、减轻数据库服务器压力
三、 设置缓存
1、在smarty中,设置缓存主要通过以下几行代码:
l $smarty->setCacheDir($cache_dir)
设置缓存目录
将来生成的缓存文件会自动放在这个目录下
l $smarty->caching=true
开启缓存机制
只要使用想缓存技术,必须在display方法调用之前开启缓存机制,(清除缓存不要开启)
l $smarty->cach_lifetime=3600
设置缓存有效时间(生命周期),
默认是3600秒(一小时),可以做适当调整
2、代码部分:
程序代码:
模板代码:
运行以上程序之后,我们发现在当前目录下,自动产生两个文件夹:
其中templates_c和cache分别表示编译和缓存目录,并且它们是自动创建的
但是强烈建议大家,不要过度依赖自动创建功能,因为在有些操作系统中,默认没有创建权限,所以建议我们在运行之前手动创建这两个目录
3、观察这两个文件区别:
编译文件:
缓存文件:
通过观察,我们发现,在编译文件中,关于模板变量的值是每次通过PHP程序动态读取的
在缓存文件中,这两个变量的值是直接写到文件中的
4、缓存是指针对模板的缓存
我们可以尝试创建其它php程序,让这些程序再次显示上面这个模板,发现这些程序只会直接运行以上程序产生的缓存文件
5、Smarty缓存工作原理:
6、两个相关的属性
$smarty->compile_check
默认值为true,表示每次执行时,都会检查模板是否改变,如果改变,则重新读取,再生成编译和缓存文件。但是,一个项目上线之后,模板基本上是不会有改动的或不经常动的,每次都判断会影响系统性能,所以在项目上线之后,建议大家关闭此选项(设置为false)。
$smarty->force_compile
默认值是false,表示每次执行时,都会检查缓存是否过期,如果没有过期,则直接使用缓存文件的内容。但是,一个项目开发时,缓存会影响程序员对程序最直接的判断,会影响观察最新的数据。建议大家将此选项设置为true,表示每次运行时都重新生成编译和缓存文件。
四、检查缓存
$smarty->isCached(“tpl.tpl”)
检查某个模板是否具有缓存文件
实际应用:
五、 清除缓存
比如说,在一个商城系统里,这件商品价格是1000.00,现在商城打折,打七折。如果使用缓存,但商品价格仍然是原来的价格。这时需要我们将以前的缓存文件删除即可。
l $smarty->clearCache(“tpl.tpl”)
清除某个模板的缓存文件
l $smarty->clearAllCache()
清除所有模板的缓存文件
一个商品信息的改变了,需要重新生成该商品的缓存文件
一般情况下,修改数据,是需要重新生成缓存文件(要把原来的缓存文件删除).

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
