Zend_Cache 用法

Zend Cache 缓存使用方法 Zend Cache 是一个功能强大的缓存组件,它提供了各种灵活的缓存选项和功能。本文将介绍 Zend Cache 的使用方法,并提供相应的源代码示例。除了文件系统适配器,Zend Cache 还提供了其他适配器选项,如内存适配器、数据库适配器等,你可以根据实际需求选择适合的适配器。安装完成后,你可以开始使用 Zend Cache 进行缓存操作。在上述代码中,我们使用了文件系统适配器来存储缓存数据。方法检查缓存中是否存在指定的键,如果存在,则使用。如果你想从缓存中删除数据,可以使用。存储到缓存中,并使用。 阅读详情

一、Zend_Cache快速浏览

Zend_Cache 提供了一个缓存任何数据的一般方法.

在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcache...)和  一个灵活的IDs和Tags系统(标识符和标记系统)存储缓存纪录.模块(Zend_Cache_Core) 的核心是通用,灵活和可配置.对于特定的需要,为了便捷,这里有一些继承自Zend_Cache_Core的前端: Output, File, Function 和 Class.

(1)调用 Zend_Cache::factory()取得一个前端

复制代码
  
$frontendOptions = array (   ' lifeTime ' => 7200 , // 两小时的缓存生命期   ' automatic_serialization ' => true ); $backendOptions = array (   ' cache_dir ' => ' ./tmp/ ' // 放缓存文件的目录 ); // 取得一个Zend_Cache_Core 对象 $cache = Zend_Cache :: factory( ' Core ' , ' File ' , $frontendOptions , $backendOptions );
复制代码

(2)将从数据库中查询出来的结果缓存起来

现在有了一个前端,可用缓存任何类型的数据了(开了序列化'serialization').例如,能够缓存从昂贵的数据库查询中缓存一个结果.结果被缓存后,不再需要连接到数据库;数据直接在缓存中取回和反序列化.

复制代码
  
// $cache 在先前的例子中已经初始化了 // 查看一个缓存是否存在: if ( ! $result = $cache -> load( ' myresult ' )) {   // 缓存不命中;连接到数据库 $db = Zend_Db :: factory( [ ... ] ); $result = $db -> fetchAll( ' SELECT * FROM huge_table ' ); $cache -> save( $result , ' myresult ' );//利用zend_cache对象缓存查询出来的结果 } else {   // 缓存名中,读出缓存到myresult标签中的$result内容 。 echo " This one is from cache!\n\n " ; } print_r ( $result );
复制代码
(3)用Zend_Cache 输出前端缓存输出

通过加入条件逻辑,我们'mark up'(标记)那些希望缓存输出的段(sections),在start()和 end()方法间封装这些section(这类似第一个例子,并且是缓存的核心策略). 在内部,像往常一样输出你的数据,当执行到end()方法时,所有之前的输出都被缓存.在下一次运行时,整个段(end()方法调用前的代码)将被跳过执行,直接从Cache中取回数据(只要缓存纪录是有效的).

复制代码
  
//前端操设置cache的存储时间,以及是否序列化对象 $frontendOptions = array ( ' lifeTime ' => 30 , // cache lifetime of 30 seconds ' automatic_serialization ' => false // this is the default anyway s ); //后端适配器配置cache的存储路径 $backendOptions = array ( ' cache_dir ' => ' ./tmp/ ' ); $cache = Zend_Cache :: factory( ' Output ' , ' File ' , $frontendOptions , $backendOptions ); // 传递一个唯一标识符给start()方法 if ( ! $cache -> start( ' mypage ' )) { // output as usual: echo ' Hello world! ' ; echo ' This is cached ( ' . time () . ' ) ' ; $cache -> end (); // the output is saved and sent to the browser } echo ' This is never cached ( ' . time () . ' ). ' ;
复制代码
小结:在使用Zend_Cache是特别要注意的Cache标识(传递给save()和start()的参数).它必须对于你所缓存的每个资源唯一,否则不相关的缓存纪录就会相互覆盖, 更糟的是,导致错误的显示结果.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、缓存原理

缓存原理:

在Zend_Cache中有三个关键概念.

  一是用于标识缓存纪录的唯一标识符(一个字符串).

  二是'lifeTime'指令,正如例子中所见, 它定义了缓存纪录的生命期(超过该值,缓存纪录被销毁).

  第三个关键概念是条件执行,你的部分代码可用被跳过,以加速性能.前端函数(例如. Zend_Cache_Core::get())在缓存不命中时返回false,这使用户能处理if(){ ... } 语句中的条件,包含代码中他们所要缓存(或者跳过)的部分,最后是否必须保存这些你曾经生成的块(例如: Zend_Cache_Core::save()).

注意:'缓存命中'是一个术语,它表示当一个缓存纪录发现可用,是有效的并且是'fresh'的(换言之,就是还没有过期).'Cache miss' 表示当在缓存中找不到需要的数据时,发生缓存不命中. 当一个Cache  miss发生是,你必须生成你的数据,并使它被缓存.而对于缓存命中,后端自动透明地从Cache中取回缓存纪录.

必须使用Zend_Cache::factory()来得到前端实例.你自己 直接实例化的 前端或者后端  不能按照期望工作.

(1)Zend_Cache 工厂方法

复制代码
  
// We choose a backend (for example 'File' or 'Sqlite'...) $backendName = ' [...] ' ; // 选择一个前端(例如'Core', 'Output', 'Page'...) $frontendName = ' [...] ' ; // 为选择的前端设置一个选项数组 $frontendOptions = array ([ ... ]); // 为选择的后端设置一个选项数组 $backendOptions = array ([ ... ]); // 创建实例(当然,最后两个参数是可选的) $cache = Zend_Cache :: factory( $frontendName , $backendName , $frontendOptions , $backendOptions );
复制代码

(2)标记纪录

标记是给缓存纪录分类的一种方法.当你使用save()方法保存一个缓存时,你可以给该缓存纪录设置一个或多个标记,多个标记以数组形式组织在一起  此后你不再需要该缓存纪录使,你可以清除所有指定标记的缓存纪录.

  
$cache -> save( $huge_data , ' myUniqueID ' , array ( ' tagA ' , ' tagB ' , ' tagC ' ));

注意:zend_cache的save方法可以接受第四个变量:$specificLifetime,如果该变量不为false,则将为该设定的cache设置一个特定的缓存有效期。

(3)缓存清理

删除特定id(标签)的Cache纪录,使用remove()方法:

  
$cache -> remove( ' idToRemove ' );

在单个操作中删除多个Cache纪录,可以使用clean()方法.例如,删除所有的缓存纪录:

  
// 清除所有缓存纪录 $cache -> clean(Zend_Cache :: CLEANING_MODE_ALL); // 仅清除过期的 $cache -> clean(Zend_Cache :: CLEANING_MODE_OLD);

如果你想删除标记为'tagA'和'tagC'的缓存项:

  
$cache -> clean(Zend_Cache :: CLEANING_MODE_MATCHING_TAG , array ( ' tagA ' , ' tagC ' ));

注意:可用的清除模式有:CLEANING_MODE_ALL, CLEANING_MODE_OLD, CLEANING_MODE_MATCHING_TAG 和 CLEANING_MODE_NOT_MATCHING_TAG. 后面的,正如它名称所暗示的,在清除操作中组合了一个标记数组,对其中的每个元素作处理.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

三、Zend_Cache前端

1.1.Zend_Cache_Core

简介:Zend_Cache_Core是一个特别的前端,因为他是模块的核心. 它是一个一般化(generic)的缓存前端,并且由其他类扩展.所有的前端(output,function,class..)继承自Zend_Cache_Core因此它的方法和选项(描述如下)应该在其他的前端中可用,所以这里没有进行文档化.这些选项被传递给如前面例子中演示的工厂方法.

选项数据类型默认值描述
cachingbooleantrue打开 / 关闭缓存 (对被缓存脚本的调试非常有用)
cache_id_prefixstringnull所有缓存 id 的前缀,如果设置为 null ,没有缓存 id 前缀使用。 缓存 id 前缀在缓存里创建一个命名空间,允许多个程序和网上共享缓存。 每个程序或网站可以使用不同的缓存 id 前缀,所以特定的缓存 id 可以使用多次。
lifetimeint3600缓存生命期(秒), 如果设置为 null, 缓存永远有效.
loggingbooleanfalse如果设置为true,日志纪录(通过使用Zend_Log)被激活(但是系统将变慢)
write_controlbooleantrue打开 / 关闭 写控制 (the cache is read just after writing to detect corrupt  entries),打开写控制轻微地放慢缓存写的速度但不影响读(it can detect some corrupt cache files but it's  not a perfect control)
automatic_serializationbooleanfalse打开 / 关闭自动序列化, 可以直接用于保存非字符串数据(但是很慢)
automatic_cleaning_factorint10关闭 / 调整自动清理过程 (垃圾收集器): 0 表示不自动清理缓存,1 表示自动清理缓存,并且如果x > 1 表示x写操作后自动随机清理1次.
ignore_user_abortbooleanfalse如果设置为 true,核心将在 save() 方法里设置 ignore_user_abort PHP flag,以免在某些情况下缓存崩溃。
1.2.例子
复制代码
  
// the complete construction (works in any case) if ( ! ( $cache -> test( $id ))) { // cache missed // [...] we make $data $cache -> save( $data ); } else { // cache hit $data = $cache -> load( $id ); } // we do something with $data
复制代码

2.1 Zend_Cache_Frontend_Output
简介:Zend_Cache_Frontend_Output是一个输出捕捉前端.它在PHP中使用输出缓冲捕获start() 和 end() 方法间的一切输出.

2.2例子

复制代码
  
// if it is a cache miss, output buffering is triggered if ( ! ( $cache -> start( ' mypage ' ))) { // output everything as usual echo ' Hello world! ' ; echo ' This is cached ( ' . time () . ' ) ' ; $cache -> end (); // output buffering ends } echo ' This is never cached ( ' . time () . ' ). ' ;
复制代码

后面还有有关Zend_Cache_Frontend_File、Zend_Cache_Frontend_Function、Zend_Cache_Front_Page......

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

四、Zend_Cache后端

1.1、Zend_Cache_Backend_File:此后端把缓存纪录存储到文件中去(在一个选定的目录中).

1.2、文件后端选项:

选项数据类型默认值描述
cache_dirstring'/tmp/'存放缓存文件的目录
file_lockingbooleantrue启用/禁用文件锁定 : 在比较坏的情况下,能够避免缓存中断,但在多线程Web服务器或者NFS文件系统中没有任何帮助.
read_controlbooleantrue启用/禁用读控制: 如果启用,控制键被嵌入到缓存文件中,并且这个键将与读取后计算出的值进行比较.
read_control_typestring'crc32'读控制类型 (仅在读控制启用时). 可用的值有: 'md5' (最好但最慢), 'crc32' (安全性稍差,但更快,更好的选择), 'adler32'  (新选择,比 crc32 快), 'strlen' for a length only test (最快).
hashed_directory_levelint0Hash目录结构层次: 0 表示"不使用hash的目录结构", 1 表示"一级目录结构" , 2表示"二级目录"... 次选项在你有成千上万的缓存文件是能够加速缓存.只有相关的基准测试才能帮助你选择合适的值.也许1或2是一个好的开始.
hashed_directory_umaskint0700目录结构的Unix 掩码
file_name_prefixstring'zend_cache'缓存文件前缀;小心使用此选项,因为当清除缓存时,在系统缓存目录(像 /tmp)中一个太generic的值将导致灾难.
cache_file_umaskint0700缓存文件掩码
metatadatas_array_max_sizeint100metadatas 数组的内部最大尺寸(除非你知道你在做什么,不要更改这个值)

2.1、Zend_Cache_Backend_Sqlite:此后端把缓存纪录存储到SQLite数据库中.

2.2、Sqlite 后端选项

选项数据类型默认值描述
cache_db_complete_path (mandatory)stringnullSQLite数据库的完整和路径(包括文件名)
automatic_vacuum_factorint10禁用 / 调整自动清理过程. 自动清理过程将对数据库文件进行碎片整理(and make it smaller) 当clean() 或则 delete() 被调用时 : 0 表示不自动清理; 1 表示自动清理(当调用 delete() 或者 clean() 方法时) ; x (整数) > 1 => 当调用 delete() 或者 clean() 方法时随机清理1到x次.

3.1、Zend_Cache_Backend_Memcached:本后端把缓存纪录存储到memcached服务器. memcached是一个高性能的,分布式内存对象缓存系统.要使用此后端,你需要一个memecached守护进程(daemon)和 memcache PECL 扩展.

3.2、Memcached后端选项

选项数据类型默认值描述
serversarrayarray(array('host' => 'localhost','port' => 11211,  'persistent' => true))一个memcached服务器数组;其中每个memcached服务器描述为一个关联数组: 'host' => (string) :  memcached服务器的名称, 'port' => (int) : memcached服务器端口, 'persistent' => (bool)  : 是否使用到memcached服务器的持久连接
compressionbooleanfalse如果你想使用数据压缩,设置为true

Zend Cache的学习和实例 前一段时间,公司让我组织一下关于Zend Cache的培训。 培训的具体内容有: 前端core缓存 前端Output缓存 前端Function缓存 前端Class缓存 前端File缓存 前端Page缓存 现在特意将以上内容的学习例子共享出来。 欢迎大家下载。 立即下载

相关推荐

Homebrew 必备软件清单:我的 macOS 开发环境搭建全记录

本文详细介绍了如何使用Homebrew在macOS上搭建高效的开发环境,包括基础配置、核心开发工具链、高效编码工具集等30个必备工具。通过Homebrew这一macOS缺失的包管理器,开发者可以一键安装命令行工具和GUI应用,大幅提升工作效率。文章还提供了日常维护命令和疑难问题解决方案,适合从新手到资深开发者的所有用户。

weixin_28836507的博客 353

Zend_Cache的使用

一、Zend_Cache快速浏览 Zend_Cache 提供了一个缓存任何数据的一般方法. 在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcache...)和 一个灵活的IDs和Tags系统(标识符和标记系统)存储

aiamleo的专栏 809

QT播放器插件内嵌浏览器配合流媒体实现国标摄像头网页端播放

基本原理在浏览器⽹页中的指定播放窗口的位置和⼤⼩,实现⼀个内嵌到⽹页中显⽰的播放窗⼝,前端还必须可对这个内嵌播放窗⼝进⾏控制,⽽且播放窗⼝必须跟随浏览器窗⼝的移动和缩放、⽹页滚动、标签页切换、关闭等操作进⾏⾃动联动。播放器可以通过QT实现。这个播放窗⼝同时提供Web Socket的服务端和JSON打包命令的解析执⾏模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制播放窗⼝。

cameravision的博客 562

Zend_Cache

Zend_Cache的基本使用方式: $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);得到缓存对对象。 Zend_Cache::factory方法有四个参数: 前端类型,后端类型,前端参数,后端参数。

沼沼同学的专栏 512

解决Keil uVision许可证管理中Unknown Product错误

嵌入式开发中,IDE工具的许可证管理是确保开发环境正常运行的关键环节。Keil uVision作为ARM架构的主流开发工具,其许可证系统采用加密验证机制,通过产品版本识别实现授权控制。当出现Unknown Product错误时,通常源于版本兼容性问题或区域发行版差异,这直接影响开发工具链的可用性。特别是在维护历史项目或使用中国特供版时,开发者常会遇到此类问题。通过分析许可证类型、调整安装配置或建立虚拟化开发环境等工程实践方案,可以有效解决这类授权验证故障,保障嵌入式项目的持续集成与交付效率。

weixin_33743248的博客 363

缠中说禅交易指南

战胜市场,其实就是战胜自己的贪婪、恐惧、愚蠢,缠中说禅技术分析理论只是把市场拔光给各位看,而拔光一个人并不意味着就等于征服一个人,对于市场,其道理是一样的。不干,不可能征服市场。对于市场来说,干就是一切。技术分析的最终意义不是去预测市场要干什么,而是分析市场正在干什么,是一种当下的直观。在市场上所有的错误都是离开了这当下的直观,用想象、用情绪来代替。 市场是有规律的,但市场的规律并不是显而易见的,是需要严格的分析才能得到。更重要的是,市场的规律是一种动态的,在不同级别合力作用下显示出来的规律,企图用些单纯的

baidu_25764509的博客 2万+

Zend Framework 的缓存模块 Zend_Cache 使用

缓存有几个重要的概念: 数据本身数据的标识缓存生命期缓存操作接口 缓存的获取操作一般十分快速, 而数据库操作一般是昂贵的, 所以通过缓存可以提高系统的整体性能. Zend_Cache 的使用比较简单, 它可以把数据保存到 File, Memcache, SQLite 等介质(称为后端, Backend)中. 还有前端(Frontend), 主要用来对要缓存的数据进行转换, 如序列

adermxl的专栏 715

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现

本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。

weixin_29189381的博客 413

zf缓存cache

Zend_Cache提供了一个缓存任何数据的一般方法。 zf中的缓存由前端操作,同时通过后端适配器(File,Sqlite,Memcache...)和一个灵活的IDs和Tags系统存储缓存记录 模块(Zend_Cache_Core)是核心通用的   Core前端与File后端 我们通常写在配置文件里 application.ini配置文件 实例化Zend_Cache ;cachem

motian06的专栏 956

禅道二次开发(一):从零搭建本地开发与调试环境

本文详细介绍了禅道二次开发的第一步:从零搭建本地开发与调试环境。通过部署官方一键安装包、配置端口与防火墙、连接数据库、设置Samba文件共享,并最终在VSCode中配置PHP智能感知与Xdebug调试,手把手教你建立一个隔离、高效的专属开发工作台,为后续的代码修改与功能扩展奠定坚实基础。

weixin_29003437的博客 323

【simulink模型】独立悬架振动模型,七自由度整车simulink模型

车辆悬架系统的设计对提升车辆行驶平顺性和操纵稳定性具有重要意义。本文构建了独立悬架的振动仿真模型以及七自由度整车动力学模型,基于 Simulink 平台实现对模型的动态响应仿真。通过对比不同工况下的车辆振动响应,验证了模型的准确性与实用性。研究结果为车辆悬架系统的优化设计提供了有力支持。

2401_84610415的博客 1584

Zend Framework数据库操作(1)

获得返回行数 1 $objSelect = $db->select()->from(array('u'=>'cmb_user'),array('COUNT(1)')) 2 ->where('u.account = ?',$account); 3 $num = $db->fetchOne($objSelect,null...

weixin_30535913的博客 115

【图像去噪】论文精读:FM2S: Self-Supervised Fluorescence Microscopy Denoising With Single Noisy Image

论文题目:FM2S: Self-Supervised Fluorescence Microscopy Denoising With Single Noisy Image —— FM2S:单噪声图像自监督荧光显微镜去噪arXiv 2024!显微图像去噪!通过可视化详细的细胞结构和生物过程,荧光显微镜具有显着先进的生物学研究。然而,由于难以精确建模固有噪声和获取干净图像进行训练,这种图像去噪任务往往面临挑战,这限制了大多数现有方法。在本文中,我们提出了一种有效的。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 410

zend_cache用法总结(1)

使用zend_cache中的Zend_Cache::factory('Page', 'File',  $frontendOptions,  $backendOptions)的几种方法,此种方法使用于与用户无关的公共页面的页面静态化一、写在index.php中 1、在index.php中加入以下代码 require_once 'Zend/Registry.php'; require_once 'Zend/Cache.php';if (false == Zend_Registry::isRegistere

只要开心就好 2060

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Zend_Cache 的基本用法

简单研究了一下Zend_Cache的用法,特留存于此Zend_Cache有两部分组成:前端和后端,前端用于操作缓存,后端提供缓存的存储方式。Zend_Cache的基本使用方式一般使用工厂方式:Zend_Cache::factory()的创建缓存对象。Zend_Cache::factory方法有四个参数: 前端类型,后端类型,前端参数,后端参数。前端类型有:1.Cor

phphot 3883

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Zend Cache 用法的一个例子.

<?php require 'Zend/Loader.php';Zend_Loader::loadClass('Zend_Cache');Zend_Loader::loadClass('Zend_Config');Zend_Loader::loadClass('Zend_Registry');$config = new Zend_Config_Ini('configsecr/con...

bahuanwa5356的博客 173

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

zend怎么保存php,Zend Framework缓存Cache用法简单实例

这篇文章主要介绍了Zend Framework缓存Cache用法,以简单实例形式分析了Zend Framework使用缓存的具体步骤,配置文件与Cache缓存具体使用技巧,需要的朋友可以参考下本文实例讲述了Zend Framework缓存Cache用法。分享给大家供大家参考,具体如下:require 'Zend/Loader.php';Zend_Loader::loadClass('Zend_Ca...

weixin_39898733的博客 144

Zend Framework2 - Cache 用法

1、方法一,application.config中配置使用      Go to config/application.config.php then add the service_manager array item as show below Change the settings of Cache adapter as your needs. 1

xmlife的专栏 635

如何使用zend framework中Zend_Cache ?

一、Zend_Cache快速浏览 Zend_Cache 提供了一个缓存任何数据的一般方法. 在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcache...)和 一个灵活的IDs和Tags系统(标识符和标记系统)存储缓存纪录.模块(Zend_Cache_Core) 的核心是通用,灵活和可配置.对于特定的需要,为了便捷,这里有一些继承自Z

代码路上 1187

Zend Framework1-Zend_Cache

一、Zend_Cache快速浏览 Zend_Cache 提供了一个缓存任何数据的一般方法。 在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcache...)和 一个灵活的IDs和Tags系统(标识符和标记系统)存储缓存纪录。 模块(Zend_Cache_Core) 的核心是通用,灵活和可配置。对于特定的需要,为了便捷,这里有一些继承自

wjtlht928的专栏 495

Zend Data Cache 用户必看:symfony/polyfill-apcu 如何桥接 apcu_* 与 apc_* 的 API 差异

`symfony/polyfill-apcu` 是 Symfony 出品的一个轻量 PHP polyfill 组件,它能为只有旧版 APC 扩展(含 Zend Data Cache)的环境补齐 `apcu_*` 系列函数和 `APCuIterator` 类,让你的代码在 Zend Data Cache、传统 APC、现代 APCu 三种缓存扩展之间无缝切换。 ## 为什么需要 APCu poly

gitblog_00083的博客 1005

PHP Zend Engine 内核解读:Zend 内存管理器与 ZEND_VM 操作码执行架构(基于 Zend/README.md)

本文基于 php-src 仓库中的 [Zend/README.md](https://link.gitcode.com/i/1d2d08413a22f0ed96618dc49c7a400f) 展开,完整继承其中两大核心主题:Zend 内存管理器(memory manager)的设计目标与调试手段,以及 ZEND_VM 操作码执行器的专用化(specialization)、线程化模型(threadi

gitblog_00362的博客 832
上一篇: PHP防止伪造跨站请求:表单中插入隐藏的随机串
下一篇: 向搜索引擎提交网址
xmlife
码龄1天 89粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值