2012-01-15 47 views
1

我想知道除了APC缓存之外,还有哪些其他简单易用的缓存机制存在,这些缓存机制可以用作CGI运行的PHP正常工作。作为CGI运行的PHP的APC(可变缓存)替代方案

配置命令
'./configure' '--prefix=/usr/local/php5' '--enable-force-cgi-redirect' '--enable-fastcgi' '--with-config-file-path=/usr/local/etc/php5/cgi' '--with-curl=/usr/local/lib' '--with-gd' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-freetype-dir=/usr/local/lib' '--with-kerberos' '--with-openssl' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-pcre-regex=/usr/local' '--with-pdo-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--enable-zip' '--enable-gd-native-ttf' '--with-iconv=/usr/local' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-mbstring'

服务器API CGI/FastCGI

我所寻找的是一个简单的内存缓存系统,可以让我来存储变量,设置TTL,然后再从内存中获取它们。我不在寻找操作码缓存。

注意:我不能切换到PHP CLI或其他SAPI。我也试过在这个环境中安装APC,它只是按照请求工作(不能在刷新时访问)。

回答

4

鉴于你说你不能切换到fcgi/fpm我假设你没有root权限访问你的服务器(如果这个假设是错误的,那么请切换,它不仅会使APC工作,但也提高了一般性能。)

所以我唯一能想到的只是使用MySQL。 MySQL具有存储在RAM中的MEMORY表。您可以轻松地在其上创建一个key =>值缓存。显然这不会提供与APC相同的性能,但对于您的情况也许就足够了。

+0

我有root权限。但是,我需要由脚本执行的PHP脚本,而不是apache:apache,这就是为什么我使用CGI而不是CLI – technology 2012-01-23 09:31:39

+1

然后看一看* mpm-itk * - 它完全按照您要存档的内容与CGI。 – sanmai 2012-01-24 01:53:06

+0

@develroot我不知道我理解你的问题。如果你使用php-fpm,你可以在不同的用户下启动进程。 – NikiC 2012-01-24 14:06:25