1、Redis和Memcache都是將數(shù)據(jù)存放在內(nèi)存中膳帕,都是內(nèi)存數(shù)據(jù)庫。不過memcache還可用于緩存其他東西薇缅,例如圖片危彩、視頻等等;
2泳桦、Redis不僅僅支持簡單的k/v類型的數(shù)據(jù)汤徽,同時還提供list,set灸撰,hash等數(shù)據(jù)結構的存儲谒府;
3拼坎、虛擬內(nèi)存--Redis當物理內(nèi)存用完時,可以將一些很久沒用到的value 交換到磁盤完疫;
4泰鸡、過期策略--memcache在set時就指定,例如set key1 0 0 8,即永不過期趋惨。Redis可以通過例如expire 設定鸟顺,例如expire name 10惦蚊;
5器虾、分布式--設定memcache集群,利用magent做一主多從;redis可以做一主多從蹦锋。都可以一主一從兆沙;
6、存儲數(shù)據(jù)安全--memcache掛掉后莉掂,數(shù)據(jù)沒了葛圃;redis可以定期保存到磁盤(持久化);
7憎妙、災難恢復--memcache掛掉后库正,數(shù)據(jù)不可恢復; redis數(shù)據(jù)丟失后可以通過aof恢復;
8厘唾、Redis支持數(shù)據(jù)的備份褥符,即master-slave模式的數(shù)據(jù)備份;
9抚垃、應用場景不一樣:Redis出來作為NoSQL數(shù)據(jù)庫使用外喷楣,還能用做消息隊列、數(shù)據(jù)堆棧和數(shù)據(jù)緩存等鹤树;Memcached適合于緩存SQL語句铣焊、數(shù)據(jù)集、用戶臨時性數(shù)據(jù)罕伯、延遲查詢數(shù)據(jù)和session等曲伊。
總結:如果需要緩存能夠支持更復雜的結構和操作,那么Redis會是不錯的選擇追他。Redis坟募,具備一定的數(shù)據(jù)庫特征,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中湿酸,當對數(shù)據(jù)的重要性比較高時婿屹,重啟升級系統(tǒng),Redis可以通過aof恢復部分數(shù)據(jù)推溃。當兩者都可的時候昂利,建議選擇Redis。