【发布时间】:2012-01-13 05:05:11
【问题描述】:
我的大问题是我需要创建一些对象,我发现仅仅包含()他们的类本身需要时间。我尝试使用 serialize()、unserialize() 来加速对象的创建,但它只帮助了几毫秒,类本身仍然需要。但这要求本身会导致延迟。有没有办法缓存“类”?
【问题讨论】:
-
“时间”是多少时间?毫秒?秒?
标签: php class caching serialization
我的大问题是我需要创建一些对象,我发现仅仅包含()他们的类本身需要时间。我尝试使用 serialize()、unserialize() 来加速对象的创建,但它只帮助了几毫秒,类本身仍然需要。但这要求本身会导致延迟。有没有办法缓存“类”?
【问题讨论】:
标签: php class caching serialization
有一些方法可以像字节码缓存一样加快速度,但它通常不是共享主机的选项,它会创建新的依赖项,对于小型项目来说根本不需要 - 对代码进行智能处理可能会解决问题。
准确查看包含的内容,以及是否始终需要所有内容。
以下是有关如何将代码拆分为更易于管理的块的一些建议:How can I improve the performance of 'include()s' in PHP?
查看 PHP 自动加载:http://php.net/manual/en/language.oop5.autoload.ph
【讨论】:
是的,称为 APC(替代 PHP 缓存):- http://php.net/manual/en/book.apc.php
是原生的PHP模块,编译成PHP编译器
第二个想法,类/对象是可缓存的,
但不是 XML 对象、数据库结果对象等资源
【讨论】:
如果你不想写你的课。试试phpFastCache.com,对初学者来说又好又简单。
好的,如果你想写一个类,并缓存你的代码,你可以使用 APC、MemCached、WinCache。这是the class。但是,optcode 缓存只会减少数据库调用或为您的网站保存 API 事务。它不会加快您的编码方式。它只是通过节省连接时间和从数据库或 API / 函数获取信息来加快页面加载速度。
您必须尝试 PHPaccelerators 或 Varnish。这些是缓存 php 代码,您的服务器在需要之前不会再次编译它。
如果您不想要其中任何一个,请创建一个 RAM DISK,然后将 serialize()、unserialize() 放入 RAM DISK 的文件中。 RAM 总是比 DISK 快。
【讨论】: