复制代码代码如下所示:
< PHP
memcachehost美元= 'localhost;
memcacheport美元= '11211;
功能microtime_float(){
列表(USEC美元美元,SEC)=爆炸(
返回((浮动)$ USEC +(浮动)$秒);
}
函数运行时(t1){
返回number_format(((microtime_float()至T1)×1000, 4)。'ms;
}
StartTime = microtime_float(美元);
cache_time美元= 30;
回声init =====。运行时(美元开始时间);

为SQL =SELECT * FROM HX id是10006;
mem_sql_key美元= MD5($ SQL);

美元microtime_float T1 =();
回声apc_read ===== ;
基于美元= apc_fetch($ mem_sql_key);
回声运行时(t1);

美元microtime_float T1 =();
apc_store(mem_sql_key美元。'_test,基于美元美元,cache_time);
回声apc_write ===== ;
回声运行时(t1);

美元microtime_float T1 =();
MEM =新的Memcache美元;
美元($ memcachehost MEM ->连接,memcacheport美元);
回声mem_connet =====。运行时($ T1);

美元microtime_float T1 =();
基于美元美元= MEM ->得到($ mem_sql_key);
回声mem_read ===== ;
回声运行时(t1);
美元microtime_float T1 =();
$ MEM ->设置(mem_sql_key美元。'_test,基于美元,0美元,cache_time);
回声mem_write ===== ;
回声运行时(t1);
>

提前,SQL结果缓存在APC和缓存,然后读写速度测试。
在本地窗口上,结果是:
init ===== 0.0341ms
apc_read ===== 0.0439ms
apc_write ===== 0.0920ms
mem_connet ===== 11.0571ms
mem_read ===== 0.2630ms
mem_write ===== 0.2270ms

在服务器Linux结果上:
init ===== 0.0131ms
apc_read ===== 0.0520ms
apc_write ===== 0.0489ms
mem_connet ===== 0.0501ms
mem_read ===== 0.1030ms
mem_write ===== 0.0801ms

当然,重复刷新会有不同的值,这里只有更高的平均值。
胜利没有任何参考,主要是关于Linux上的结果。
不要把时间,APC的读写速度大约快一倍的时间来计算memcache_connect memcached。两倍的速度。
APC是能够实现的PHP文件操作码缓存,实现用户缓存的好东西。

因此,如果所有的功能都可以在一个服务器上的网站时,尺寸小的完成,然后缓存方案应该首先APC,没有考虑memcached。然而,如果网站的规模将继续扩大,这段时间表现的差异可以忽略,而Memcached应部署。
此外,在使用memcached服务器,最好使用内联网。否则,影响路由下,Memcached经常连接时间(超过100ms),会拿出两倍的宽带流量。