Wincache
WinCache是微软新推出了配合FastCGI模式使用的WinCache扩展,这是一个可以显著增加PHP应用在Windows环境下使用速度的PHP加速器。所有的PHP应用都能够利用这个扩展所提供的加速功能而不需要修改任何代码。所有需要做的就是将这个扩展激活并被PHP引擎读取。
与eAccelerator正好相反的是WinCache要求使用NTS(非线程安全)版本的PHP,因此更适合与FastCGI配合使用。
Windows缓存扩展为PHP是一个PHP加速器,用于提高PHP在Windows和Windows服务器运行的应用程序的速度。一旦Windows缓存扩展PHP的启用和加载的PHP引擎,PHP应用程序可以在没有任何代码修改的功能优势。
类型[ ]
在Windows缓存扩展包括5个不同的缓存类型。下面描述了每个高速缓存的类型和它所提供的好处的目的。
PHP操作码缓存[ ]
PHP是一个脚本运行引擎,他读入包含文字和PHP指令的输入数据流,再输出另一个通常是HTML格式的数据流。这就是说在一个服务器上,每当网络用户需要,PHP引擎就会读入、解析、编码和执行某个脚本。而这种读入、解析和编码会给服务器的CPU和文件系统增加额外的负担,因此会影响到PHP脚本的整体运行。PHP操作码缓存就是用来把编码后的脚本字节码储存在内存中从而能让PHP引擎在后来对同一脚本的操作中重复使用。
相对路径缓存[ ]
PHP脚本经常会引用或使用通过相对路径访问的文件。而每一个相对路径都必须被PHP引擎转化成绝对路径才能够使用。当一个PHP应用通过相对路径访问很多的PHP文件,将相对路径转化成绝对路径的工作就会对应用的运行产生消极影响。Windows缓存扩展提供了专门针对相对路径的缓存,可以将相对路径到绝对路径的转换地图储存起来,从而减少了相对路径的总转化量。
文件缓存[ ]
除了使用操作码缓存,PHP引擎还需要从文件系统里读取脚本文件。当PHP脚本储存在一个远程的UNC(统一命名约定)文件共享中,文件操作会出现一个显著的动作。Windows缓存扩展包括了一个文件缓存来在内存中储存PHP脚本文件的内容,这样就减少了PHP引擎的文件操作数量。
用户缓存(1.1.0版本开始提供)[ ]
PHP脚本可以利用的用户使用缓存API优势的共享内存缓存的。PHP对象和变量可以存储在用户缓存,然后再在随后的请求。这可以被用来改善PHP脚本的性能,并在多个PHP进程共享数据。
会话处理器(1.1.0版本开始提供)[ ]
在WinCache会话处理器可用于存储PHP会话共享内存缓存中的数据。这就避免了阅读和写作部分数据,从而提高性能,当大量的数据是用PHP会话中存储的文件系统操作。