1. 程式人生 > >Redis和Memcache的區別總結

Redis和Memcache的區別總結

font 自己 持久性 類型 面具 最大的 利用 eight con

數據類型

redis數據類型豐富,支持set liset等類型 memcache支持簡單數據類型,需要客戶端自己處理復雜對象 持久性 redis支持數據落地持久化存儲 memcache不支持數據持久存儲 分布式存儲 redis支持master-slave復制模式 memcache可以使用一致性hash做分布式 value大小不同 memcache是一個內存緩存,key的長度小於250字符,單個item存儲要小於1M,不適合虛擬機使用 數據一致性不同 redis使用的是單線程模型,保證了數據按順序提交。 memcache需要使用cas保證數據一致性。CAS(Check and Set)是一個確保並發一致性的機制,屬於“樂觀鎖”範疇;原理很簡單:拿版本號,操作,對比版本號,如果一致就操作,不一致就放棄任何操作 cpu利用 redis單線程模型只能使用一個cpu,可以開啟多個redis進程 總結二: 1.Redis中,並不是所有的數據都一直存儲在內存中的,這是和Memcached相比一個最大的區別。 2.Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,hash等數據結構的存儲。 3.Redis支持數據的備份,即master-slave模式的數據備份。 4.Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用。 我個人認為最本質的不同是Redis在很多方面具備數據庫的特征,或者說就是一個數據庫系統,而Memcached只是簡單的K/V緩存

參考:Redis和Memcache的區別總結

Redis和Memcache的區別總結