Zend_Cache 遇到 __PHP_Incomplete_Class

当使用Zend_Cache缓存非字符串数据时, 要求设置Zend_Cache自动序列化, 但是有时候从cache中load出来的数据是__PHP_Incomplete_Class对象.
这个问题其实很简单, 序列化一个对象时,要求它的类已经被定义, 如果没有定义,就出现返回__PHP_Incomplete_Class的情况, 所以只要定义了被缓存对象的类就可以了.
当然出现这种情况还有另外一种可能,就是已经设置了序列化时的回调函数, 而这个回调函数在从cache中load数据时还没有执行结束, 所以它就返回了一个叫未完成的类,呵呵

PHP程序提速方法

php程序提速方法
  1. php加速工具 eaccelerator 对php代码有3-5倍的提升,它的原理是将php的编译结果缓存起来,下次只要php的内容没有发生变化,则直接读取缓存的内容,省去了每次编译脚本所 花的时间
  2. apache的mod_gzip模块对静态页面的压缩功能
  3. 使用php的ob_gzhandler的压缩输出页面功能,适用于php动态页面
  4. 缓存功能可以使用php自带的apc缓存系统
  5. 共享内存功能Shared Memory Functions
  6. ICE for php功能,性能比SOAP及XML-RPC有数量级的提高,ice是基于tcp/ip的直接通信
  7. memcache,分布式内存缓存系统,如果要做分布式系统这个很有用处
  8. ZendCache是一个php脚本高 速Cache,它可以将刚执行的php脚本文件的编译结果存放在Web服务器的内存中,如果下一次有人再请求此页,它就可以很快将其送出。免去了每次用户 请求php文件,服务器都编译一次脚本所花的时间。同时,免取了从磁盘上查找、读取php文件所花的时间。所以可以大大提高服务器的相应速度。不过ZendCache是 收费的,功能与eaccelerator类似。
  9. Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。 更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时 间,也就是从访问者点击链接到服务器开始读取页面之间的时间。