本地電腦測(cè)試讀取redis和普通文件緩存的速度,分別連續(xù)讀取緩存文件1次、1千次、1萬次,緩存內(nèi)容大小40KB,redis讀取速度總比文件緩存速度慢一倍。如果確實(shí)如此,是不是在低并發(fā)情況下file緩存方式更快點(diǎn)呢?還是我的測(cè)試方式有誤?<?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 回答

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

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
重新測(cè)試了,換成了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)注
- 1057 瀏覽
添加回答
舉報(bào)
0/150
提交
取消