redis和memecache的異同以及應用場景
緩存就是數據交換的緩衝區Cache。當某一硬體要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於緩存的運行速度比內存快得多,故緩存的作用就是幫助硬體更快地運行。
在互聯網應用中最廣泛的兩類緩存技術redis和memecache,下面講述兩者的異同與選擇。
1
redis和memecache的應用場景
我們需要關注的是:
1:內存的使用率,對於key-value這樣簡單的數據儲存,memcache的內存使用率更高。如果採用hash結構,redis的內存使用率會更高。當然,這些都依賴於具體的應用場景。
2:數據持久化和主從複製時,只有redis擁有這兩個特性,如果你的目標是構建一個緩存在升級或者重啟後之前的數據不會丟失的話,那也只能選擇redis。
3:操作,redis支持很多複雜的操作,甚至只考慮內存的使用情況,在一個單一操作里你常常可以做很多,而不需要將數據讀取到客戶端中(這樣會需要很多的IO操作)。這些複雜的操作基本上和純GET和POST操作一樣快,所以你不只是需要GET/SET而是更多的操作時,redis會起很大的作用。
結論:對於兩者的選擇還是要看具體的應用場景,如果需要緩存的數據只是key-value這樣簡單的結構時還是採用memcache,它也足夠的穩定可靠。如果涉及到存儲,排序等一系列複雜的操作時,有持久化需求或者對數據結構和處理有高級要求時,毫無疑問選擇redis。
2
redis和memecache的異同
1、存儲方式:
memecache 把數據全部存在內存之中,斷電後會掛掉,數據不能超過內存大小
redis有部份存在硬碟上,這樣能保證數據的持久性,支持數據的持久化。
2、數據支持類型:
redis在數據支持上要比memecache多的多。
3、使用底層模型不同:
新版本的redis直接自己構建了VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。
推薦程序員必備微信號


※基礎篇羽毛球國手教練馮星橋現場教學視頻
※清末新政(四)將官制改革進行到底(3)
※華為全連接大會完美舉辦,為什麼華為的NB-IoT這麼受青睞?
※《低齡留學紀實》預告片終於來了!
※太極拳理│基本功手眼身法步的學習
TAG:公眾號 |