1、持久化
redis是支持持久化存儲,宕機(jī)重啟數(shù)據(jù)不會丟失,memcache重啟后數(shù)據(jù)丟失
redis持久化的方式
- 半持久化模式(RDB) 通過不定期異步持久化磁盤中
優(yōu)點(diǎn):性能高
缺點(diǎn):宕機(jī)時定時持久化數(shù)據(jù)可能丟失,由于是fork子進(jìn)程來持久化,數(shù)據(jù)量大時可能cpu占用較高,可能會導(dǎo)致整個服務(wù)器停止幾百毫秒到1秒 - 全持久化(AOF) 把每一次數(shù)據(jù)變化都寫入到aof文件中
優(yōu)點(diǎn):數(shù)據(jù)安全性更高 有三種配置每秒同步(異步)、每修改同步(效率低)、不同步,宕機(jī)后依然會同步舊數(shù)據(jù)
缺點(diǎn):文件比RDB大,恢復(fù)時速度比RDB慢,AOF在運(yùn)行效率上往往會慢于RDB??傊?,每秒同步策略的效率是比較高的,同步禁用策略的效率和RDB一樣高效。
2、數(shù)據(jù)類型
memcache只支持key-value類型,redis數(shù)據(jù)類型支持更豐富,有hash,set,list,key-value,Pub/Sub
單key的value可存儲最大限制:memcache最大1m,redis最大512m
3、應(yīng)用場景
memcache更多的用在緩沖業(yè)務(wù)上減少數(shù)據(jù)庫的查詢
redis不僅可以做memcache的事,由于支持豐富的數(shù)據(jù)類型,可以實(shí)現(xiàn)業(yè)務(wù)中更多的功能,如:排行榜,計數(shù),pub/sub訂閱,mq等