本地電腦測試讀取redis和普通文件緩存的速度,分別連續(xù)讀取緩存文件1次、1千次、1萬次,緩存內(nèi)容大小40KB,redis讀取速度總比文件緩存速度慢一倍。如果確實(shí)如此,是不是在低并發(fā)情況下file緩存方式更快點(diǎn)呢?還是我的測試方式有誤?<?php//redis緩存,讀1萬次約1.344396秒
$t1 = microtime(true);
$redis = new Redis();
$redis->connect("127.0.0.1","6379");
$redis->auth('123456');
for($i=0;$i<10000;$i++){
$redis->get("test");
}echo round(microtime(true)-$t1,6);
exit;
?><?php//文件緩存,讀取1萬次約0.635125秒
$t1 = microtime(true);
for($i=0;$i<10000;$i++){
$html = file_get_contents('testfile.php');
}
echo round(microtime(true)-$t1,6);
exit;
?>
2 回答

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
你這個(gè)測試方法不對,你應(yīng)該每次讀取key的值和讀取不通的文件,
你現(xiàn)在這個(gè)測試方法文件已經(jīng)被cache了。 測試不出差別的。

慕姐8265434
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
重新測試了,換成了Linux服務(wù)器,php5.6,512內(nèi)存。連續(xù)讀取1千次不同的文件(每個(gè)文件41KB),redis也是1千個(gè)不同的key,文件緩存還是比redis快!
但是,但是,后來我換成連續(xù)讀取1萬個(gè)不同的文件,文件緩存方式耗時(shí)30秒,二redis竟然只需0.7秒??磥砦募彺嬷贿m合小數(shù)據(jù)小并發(fā),大并發(fā)下還是redis好很多
- 2 回答
- 0 關(guān)注
- 2870 瀏覽
添加回答
舉報(bào)
0/150
提交
取消