Smarty3【五】页面缓存

QMT与通达信代码实战:从预警到交易的自动化实现 本文详细介绍了如何利用QMT量化交易平台与通达信软件实现从预警到交易的全自动化。通过读取通达信预警生成的板块文件,QMT策略可自动执行买卖指令,有效解决手动交易滞后问题。文章提供了完整的代码框架、核心原理拆解及实盘注意事项,帮助投资者构建高效、纪律性的自动化交易系统。 阅读详情

页面缓存是什么意思?它是把页面内容保存在磁盘上,在下次访问相同的页面的时候,直接返回保存的内容,减轻了数据库的压力。Smarty3通过将输出内容保存到文件内,缓存机制可以用来加速 display()的执行。 如果缓存被开启,那么显示时缓存的输出将替代重新生成显示内容的操作。 缓存可以极大提高程序的执行速度,尤其当模板需要很长的计算时间的情况下,因为可能要走数据库又要进行一系列的处理,如果缓存页面后,就可以直接走缓存的文件。

一 简单使用缓存

[1]开启缓存

[2]配置缓存的目录以及缓存的生命周期

[3]判断该页面是否缓存,或者是要走数据库取出数据

[4]显示页面

//这里是引入上一次的简单继承的Smarty主类
include './MySmarty.class.php';
//实例化 smarty类
$smarty = new MySmarty();
//开启缓存
$smarty->caching = true;
//设置缓存周期
$smarty->cache_lifetime=10;
//配置缓存的目录
$smarty->cache_dir = './cache';
//判断是否缓存
if(!$smarty->isCached('1.html')){
    echo '走数据库,哈哈哈哈哈';
    $user = array('name'=>'王小虫','age'=>'20');
    $smarty->assign('user',$user);
}
//显示页面
$smarty->display('1.html');

二 局部缓存页面

局部缓存的意思就是,页面中有一部分我不去缓存它,需要它动态变化。就比如说购物网站里面的商品页面,可能商品的价格会动态变化,但是其他基本上都不变,那么我们只需要就获取它的价格,而页面其他部分的我们就用缓存。其实局部缓存的一个大致意思就是,整个页面要缓存,那么你控制一下那些不去缓存就好了。

这里有四种常用的局部缓存方法

[1]使用nocache针对某个值进行设置不缓存

[2]使用{nocache}{/nocache}实现大区块的不缓存

[3]在php的页面里利用assign赋值的时候加上第三个参数true

[4]在php页面写一个函数,然后利用{insert name="function" }进行插入

//引入上一次的简单继承的Smarty的主类
include './MySmarty.class.php';
//实例化 smarty类
$smarty = new MySmarty();
//开启缓存
$smarty->caching = true;
//设置缓存周期
$smarty->cache_lifetime=10;
//配置缓存的目录
$smarty->cache_dir = './cache';
//判断是否缓存,并且从数据库取出数据
if(!$smarty->isCached('2.html')){
    echo '走数据库,哈哈哈哈哈';
    $user = array('name'=>'王小虫','age'=>'20');
    $smarty->assign('user',$user);
}
//四种 局部缓存的方法
$smarty->assign('time',time());        //【1】时间不缓存 在页面里面 使用加nocache设置
$smarty->assign('num',rand(10,99));    //【2】随机数 在页面里面 利用{nocache}{/nocache}
$smarty->assign('ccc',mt_rand(),true);//【3】在赋值的时候就加上第三个参数 true 设置不缓存
//【4】在页面里面写一个函数 ,然后再html插入 {insert name="函数名" $param}
function insert_ddd($param){
    return '随机编号user:'. "----".$param['user']."------" .md5(uniqid());
}
$smarty->display('2.html');
<!DOCTYPE html>
<html lang="en">
    <head>
    <title>2_局部缓存</title>
        <meta charset="utf-8">
    </head>
    <body>
      <pre>
         时间: {$time|date_format:"%y-%m-%d %H:%M:%S" nocache}
        随机数:{nocache}{$num}{/nocache}
                {$ccc}
        插入函数:{insert name="ddd" user="Tacks"}
    <hr/>
{$user.name}
{$user.age}
      </pre>
    </body>
</html>

三 单页面多缓存

单页面多缓存,意思就是同样的一个模板,但是想根据get的值或影响因素不一样,然后去生成不同的页面缓存。举个例子,商品页的id就是不一样的,所以这里使用单页面多缓存,去实现传的id不同而有对应的商品页。

但是一定要确保id的值要唯一,即不同的商品对应不同的id,这样根据id缓存下来的页面才有不一样的效果

include './MySmarty.class.php';
//实例化 smarty类
$smarty = new MySmarty();
//开启缓存
$smarty->caching = true;
//设置缓存周期
$smarty->cache_lifetime=10;
//配置缓存的目录
$smarty->cache_dir = './cache';
//接受传过来的id
$id  =  $_GET['id'] + 0;
//判断是否缓存,并且从数据库取出数据
if(!$smarty->isCached('3.html',$id)){
    echo '走数据库,哈哈哈哈哈';
    $user = array('name'=>'王小虫','age'=>'20');
    $smarty->assign('user',$user);
}
$smarty->display('3.html',$id);//id要确保唯一
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>3_单页面多缓存</title>
        <meta charset="utf-8">
    </head>
    <body>
            <pre>
姓名:{$user['name']}
年龄:{$user['age']}
编号id:{$smarty.get.id}
            </pre>
    </body>
</html>

四 清除缓存

缓存文件也是php,它也不会自己删除,一旦缓存过多的时候,一个文件夹下面过多的小文件会影响网站的性能,那么就需要按时手动清除一下,那么如何清除。主要就是利用clearCache()方法 和clearAllCache()方法

利用$smarty->clearCache('1.html')   两个参数 模板名 和 缓存id

[1]如果只指定模板名,不指定缓存id,则改模板对应的所有缓存都会被删除

[2]也可以删除缓存的时候,传缓存id,删除指定的缓存文件

也可以利用 $smarty->clearAllCache(),清除所有的缓存。

有时候我们为了测试页面,而不需要使用缓存,但是又不想修改代码,那么我们可以暂时关闭缓存

$smarty->force_cache = true

 

小结

[1]学会把缓存的配置项页加入到继承smarty类的里面

[2]学会合理使用生成缓存页面,单页面多缓存很重要,以及局部缓存

[3]理解缓存传过去的id,最好确保id的唯一性,比如那些因素会影响页面的内容,就把那些参数结合在一起生成一个唯一id

学习海康VisionMaster之顶点检测 2:应用场景:海康VisionMaster的顶点检测功能在工业视觉检测中具有广泛的应用场景,尤其在精密制造、电子元件检测和机械加工等领域,其通过高精度定位物体的关键点(如角点、交点或边缘顶点)来实现自动化测量与质量控制。基本参数这里就是画ROI,设定跟踪参数和之前的工具是一样的方法,这里画的方向需要注意,如下图所示,边缘的扫描方向正好对应需要查找的边缘点。一个不是很规则的物体需要检测一个凸台的顶角坐标,其实靠边缘与边缘交点是不太稳定的,如下图所示,边缘很短,很容易产生误抓边缘。1:什么是顶点检测? 阅读详情

相关推荐

STM8库函数开发手册(3) //UART1、内部EEPROM、FLASH操作库、IIC(硬、软)

STM8S 微控制器家族的通用同步异步收发器(UART1,UART2 或者UART3)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。STM8 的UART 提供范围的波特率选择,并且支持多处理器通讯。UART 也支持LIN(局部互联网)协议版本1.3,2.0,和2.1 以及在主模式下的J2602。 UART1 和UAR...

finedayforu的博客 2520

Smarty开启缓存和局部不缓存

什么是缓存? 将我们的数据保存到 某个硬件或者软件当中,便于我们快速的访问。归根结底都是在内存当中。 常见的缓存形式有哪些? 数据缓存,站在数据库的角度(mysql),有些数据不是经常变化的,我们就可以把它缓存起来,下次再访问的时候,就直接访问缓存,极大了提升了效率。Memcached 文件缓存,也称页面缓存,有些页面,一旦生成,就不再变化,我们可以将这些页面缓存起来,就是直接将其转成静态页面,后...

qq_37171379的博客 1065

Spring Authorization Server实战:从零搭建OAuth2.1授权中心(含数据库改造)

本文详细介绍了如何从零开始使用Spring Authorization Server搭建符合OAuth2.1规范的授权中心,并完成关键的数据库持久化改造。内容涵盖微服务架构下的统一认证需求、基础配置、数据库表设计、高级特性(如令牌自定义、性能优化)以及与现有系统(如SSO、Gateway网关)的集成实战,为构建生产级授权服务提供完整指南。

weixin_29315091的博客 253

Smarty缓存技术总结

大家应该都知道合理使用缓存能有效的减轻网站的服务器压力,php Smarty作为一个非常优秀的php模板引擎,它为我们提供了非常简单而多样化的缓存操作,下面就让我们学习一下smarty缓存操作方面的一些技巧。这里我们将分析一下如何开启和使用smarty缓存,如何清除smarty缓存以及smarty的全局缓存,部分缓存,局部缓存三种缓存机制。 一、开启和使用smarty缓存 要开启sm...

dianjian2844的博客 165

5G R18标准:AI/ML如何重塑空口优化与网络架构

人工智能与机器学习正逐步成为通信网络优化的核心技术。其核心原理在于通过数据驱动模型,从海量网络数据中学习信道变化、用户行为等统计规律,替代传统的基于固定规则的优化方法。这一技术范式能显著提升网络性能与效率,尤其在空口资源管理、干扰协调和能耗控制等场景中价值突出。在5G Advanced(R18)标准化框架下,AI/ML被系统性地引入空口设计,聚焦于信道状态信息反馈增强、波束管理与预测等关键用例。通过定义网络侧AI、终端侧AI及联合学习的标准化接口与流程,R18旨在实现跨厂商设备的智能协同,推动无线网络向自适

weixin_35671843的博客 244

如何在项目中集成bpmn-process-designer

文章目录一、bpmn-process-designer是什么?二、使用步骤1.将下面地址的代码下载到本地2.替换dependencies和devDependencies3.拷贝package目录4.在main.js引入代码5.拷贝src5.拷贝App.vue代码注意事项 一、bpmn-process-designer是什么? bpmn-process-designer是一个基于 bpmn.js,Vue 2.x 和 ElementUI 开发的流程设计器(前端部分),支持监听器,扩展属性,表单等配置,可自由扩展

weixin_43550766的博客 9454

Smarty

1.Smarty的插件机制: a)用来拓展Smarty的功能 b)一个插件就是一个函数 2.Smarty的插件的类型: a)变量调节器 i. 对一个变量或者是一个少量数据信息进行修改 ii. iii.Smarty系统内置: 1.Capitalize 每个单词的首字母大写 2.Date_format 格式化日期 3.Default 给变量设置默认值 4.Escap

猴子年华 · 软件工程老师 & 程序员,专注AI、 Python/Node.js、GEO,每日分享技术底层原理、AI 效率工具,用技术帮你提效变强。💪 812

RK3588开发笔记-mipi csi接口imx415摄像头调试记录

摘要:本文详细介绍了RK3588开发板适配SONY IMX415 MIPI CSI摄像头的调试过程。从硬件环境准备(包括RK3588核心板、IMX415模块连接及测试工具)、软件环境配置(Linux 5.10内核、驱动状态确认),到设备树关键配置(MIPI链路、GPIO引脚、电源域等)都进行了详细说明。调试过程中通过dmesg日志、media-ctl拓扑分析等工具验证了摄像头驱动加载和图像采集功能。最终实现了800万像素高清图像采集,总结了硬件连接验证、信号完整性优化等关键经验,为类似MIPI摄像头调试提供

flypig has a dream! 882

smarty3缓存设置原理和注意事项

使用smarty有几个好处:实现mvp,表现层和数据库分离;可以使用缓存机制,减少数据库压力,提升网站的速度;这里介绍一下smarty的缓存机制。  开启缓存的变量是caching,有3个值:默认为0表示关闭缓存;1为开启缓存模式1,使用统一的缓存过期时间;2为开启缓存模式2,为每个页面使用单独的缓存时间。同时需要定义缓存路径cache_dir,如果没有定义该变量,smarty将自动默认一个缓存

lifushan123的专栏 689

CesiumForUnreal实现鹰眼地图(MiniMap)效果

CesiumForUnreal实现鹰眼地图(MiniMap)效果

专注GIS开发 3951

如何在 SAP BTP 上使用 Integration Suite 消费 S/4HANA Cloud API

SAP Integration Suite是一个集成平台即服务(iPaaS),允许开发人员顺利地将内部部署和基于云的应用程序和流程与SAP管理的工具和预构建内容进行集成。登录 SAP Business Technology Platform Cockpit,进入 integration suite:再点击 API management 进入 API Portal:或者直接从收藏夹里打开链接:https://304a49cetrial.integrationsuitetrial-apiportal.cfapp

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1699

PHP Smarty中的缓存如何实现?

缓存复杂计算的结果:如果你在模板文件中执行了一些复杂的计算或生成了一些动态数据,可以考虑将计算结果缓存起来,以减少重复计算。缓存重复的数据库查询:如果你在模板文件中多次执行了相同的数据库查询,可以考虑将查询结果缓存起来,而不是每次都需要执行查询。使用编译缓存:Smarty的编译缓存可以存储编译后的模板文件,这样在下次需要显示该模板时,可以直接从编译文件中获取,而不需要重新编译。缓存模板文件:Smarty支持将整个模板文件缓存起来,这样在下次需要显示该模板时,可以直接从缓存中获取,而不需要重新解析和编译。

2301_78316833的博客 785

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 414

PHP Smarty 文件缓存(将页面缓存为静态页面)

smarty提供的是文件缓存:将不经常变动且访问量比较大的页面缓存成静态页面(其实是PHP文件)保存在缓存目录下(有过期时间)。 缓存文件其实是PHP文件,并不是静态的html页面,原因如下: 1、页面一旦缓存,所有的内容都是静态的,但实际上,有些内容是不能使用静态的,比如用户状态,时间显示等。(需要使用局部不缓存) 2、缓存文件本身是php文件,因为它要处理局部不缓存的情况。而且过期时间也

houyanhua1的专栏 916

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

smarty单页面,多缓存

1、smarty单页面,多缓存 display生成缓存文件。缓存文件只保存模板中的内容,php中的内容是不会保存在缓存文件中的。 为了处理同样的显示界面,不同的显示内容,内容由url参数决定,同一个模板可以生成多个缓存文件(有多少内容显示就有多少个缓存文件)多个缓存文件用display(“*tpl”,$GET["id"]);在php中可以用is_cached判断模板是否被缓存,is_cache

whjwhja6的专栏 1617

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Smarty缓存

1. Smarty缓存

yonggang7的专栏 1357

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

smarty缓存问题

smarty中缓存cache的用法. 一、使用缓存 开启smarty缓存,只需将caching设为true,并指定cache_dir即可. 使用cache_lefetime指定缓存生存时间,单位为秒 要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id,如$smarty->display('index.tpl',$my_cache_id);此特

zhaoxinglei0309的专栏 2613

Smarty缓存机制深度解析,彻底搞懂页面加载提速300%的秘密

掌握Smarty缓存机制,显著提升PHP页面加载速度。本文结合PHP Smarty实践,详解缓存配置、生命周期管理与静态化策略,适用于高并发场景下的性能优化。有效实现页面提速300%,提升用户体验,值得收藏。

CodeWhim的博客 949

smarty缓存技术详解

缓存机制能能有效的减轻网站的服务器压力,Smarty模板引擎的一大亮点就是为我们提供了非常简单的缓存操作 首先我们要知道Smarty缓存机制分为全局缓存,部分缓存,局部缓存三种,我们一一介绍。 1、全局缓存   顾名思义,全局缓存就是为整个网站的全部页面都生成缓存页面。   首先我们要操作smarty的配置文件,开启缓存,指定缓存文件目录,并设置缓存的存活时间   $smarty->

~~~~~~常思~~~~~ 1634

smarty局部不缓存

insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数. insert(name,assign,script,[var...]) name:插入函数的名称 assign:该属性指定一个变量保存待插入函数输出 script:插入函数前需要先包含的php脚本名称 [var ...]:传递给待插入函数的本地参数 例: 1、例子是在昨天的例子的基础上,今天加了个时间,如果时间

whjwhja6的专栏 2495

php smarty 缓存时间,PHP缓存原理以及smarty缓存

当我们访问一个网站时,查询或者登陆,都会和通过数据库获得信息。像一个很大的门户网站,每日访问量上百万、千万,数据流通量是庞大的,所以通过PHP缓存技术能避免一些频繁而不必要的数据库操作,从而提高程序执行的效率。来看一下几个PHP缓存技术:1、数据缓存——普遍的一种缓存技术非常直观的字面意思,就是把数据先存放好,减少对数据库的访问。第一次访问时,把要用到的数据保存到一个文件里,然后用户再次访问页面时...

weixin_34335039的博客 267

smarty缓存详解

简单的说吧,smarty开启静态缓存时,是会生成html静态页面,此时可以不执行任何逻辑,只要首先判断是否有缓存生成,有的话直接输出,然后直接停止脚本,这样效率是非常高的,相当于直接打开静态页面, 不开启静态缓存时,那就会生成模板编译文件,把所有smarty标签转换成echo变量的形式,并不能提高任何效率,但也不会增加太多额外的执行时间, “smarty选用的一种缓存技术,它可以将用户

lifushan123的专栏 557

php+Smarty的缓存操作

一、使用缓存要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.使用cache_lefetime指定缓存生存时间,单位为秒要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id,如$smarty->display(/index.tpl/,$my_cache_id);此特性可用于对不同的$_GET进行不同的缓存二、清除缓存

phphot 2828

smarty文件缓存

当一个网站一段时间内访问量较大的时候,每次访问一个页面就会从新编译执行一次,从数据库中读取数据,那么就会给服务器带来很大的压力,而且有可能导致数据库崩溃,所以应该有个缓存机制来保存页面。 文件缓存是指把动态网页访问过后生成一个静态html静态网页,当再次访问这个页面时,呈现给用户的就是这个html网页,这样就不用每次访问都读一次数据库。 smarty中开启缓存:$smarty->caching

haokuangjie123的博客 917

php smarty关闭缓存,PHP之三大缓存:smarty缓存、客户端缓存、PDO缓存之smarty缓存...

smarty缓存a.基本smarty缓存1)开启smarty缓存机制 smarty对象的$caching属性true或者1代表开启缓存,false或者0代表关闭缓存$smarty->caching=true2)设置缓存时间 smarty对象的cache_lifetime属性值为整型单位为秒$smarty->cache_lifetime【单位为秒】3)设置smarty编译前检查缓存是否需...

weixin_30510787的博客 394

php smarty缓存时间,Smarty缓存机制

缓存机制能有效的减轻网站的服务器压力,Smarty模板引擎的一大亮点就是提供了非常简单的缓存操作。首先要知道Smarty缓存机制分为全局缓存,部分缓存,局部缓存三种。1、全局缓存顾名思义,全局缓存就是为整个网站的全部页面都生成缓存页面。首先要操作smarty的配置文件,开启缓存,指定缓存文件目录,并设置缓存的存活时间$smarty->cache\_dir = './cache/'; //设置...

weixin_34570507的博客 267
上一篇: Smarty3【四】常用输出(判断,循环,变量修饰器)
下一篇: laravel-admin基本使用
Tacks
博客等级 码龄9年 37粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值