mysql與redis在各種情況下性能對比


數據表結構

CREATE TABLE `jx_goods_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`goods_name` varchar(100) DEFAULT NULL,
`shop_price` varchar(100) DEFAULT NULL,
`goods_content` text,
`original_img` varchar(222) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=526825 DEFAULT CHARSET=utf8

數據量:1613312

goods_name='yuyu_購物車測試'數據量為4384

$sql    =   "SELECT * FROM jx_goods_test  WHERE goods_name='yuyu_購物車測試'";
$info = M()->query($sql);

純mysql未開啟緩存未加索引情況下耗時:3秒以上(測試多次均為這個接口)
開啟mysql緩存情況下耗時:0.021秒
關閉緩存采用索引方式:0.21秒
數據都存儲在一張表中對比,可以明顯感覺到,開啟緩存帶來顯著的提升,但是開啟緩存有個點沒有考慮進去,就是緩存失效以及命中率的問題,如果算上這些,其實帶來的效益還是沒有索引帶來的直觀,當然這個得看取舍了。各有優勢劣勢。
下面采用redis測試下結果數據如何,假設數據已經全部存入redis中(ps:麻痹,這160多萬數據從mysql進入redis還真耗時間,機器 太爛了。哎!)





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM