PHP Memcache get 性能测试

PHP 的 Memcache 客户端所提供的 get 方法中,key 参数可以用 string 或 array 两种形式给出。详情请见PHP手册。

为了比较获取多个 key 的性能,我对这两种方式做了以下测试:

<?php

$mc = new Memcache();
$mc->connect('192.168.1.235', 11211);

/*
$mc->set('test/key/1', 'test/key/1');
$mc->set('test/key/2', 'test/key/2');
$mc->set('test/key/3', 'test/key/3');
$mc->set('test/key/4', 'test/key/4');
$mc->set('test/key/5', 'test/key/5');
$mc->set('test/key/6', 'test/key/6');
$mc->set('test/key/7', 'test/key/7');
$mc->set('test/key/8', 'test/key/8');
$mc->set('test/key/9', 'test/key/9');
echo 'done';
*/

$loop = 10000;

$start = microtime(true);
for ($i = 0; $i < $loop; ++$i) {
    $mc->get('test/key/1');
    $mc->get('test/key/2');
    $mc->get('test/key/3');
    $mc->get('test/key/4');
    $mc->get('test/key/5');
    $mc->get('test/key/6');
    $mc->get('test/key/7');
    $mc->get('test/key/8');
    $mc->get('test/key/9');
}
echo microtime(true) - $start, "\r\n";

$start = microtime(true);
for ($i = 0; $i < $loop; ++$i) {
    $mc->get(array('test/key/1','test/key/2','test/key/3',
        'test/key/4','test/key/5','test/key/6',
        'test/key/7','test/key/8','test/key/9'));
}
echo microtime(true) - $start, "\r\n";
在 Win7 Php 5.3.5 Cli 模式下的结果如下
#设置初始值
D:\test>php mc.php done
#运行get测试
D:\test>php mc.php
140.38006091118
15.962392091751
在 Ubuntu Server 11.04 Php 5.3.5 Cli 模式下的结果如下
$ php mc.php
3.911248922348
0.55850887298584
不同OS的差异就不说了。看测试输入,使用数组的形式进行 multi get 性能会高不少。

转载于:https://my.oschina.net/heiing/blog/122908

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值