Redis与Memchache都是非常优秀的分布式缓存系统,且性能都足够卓越。
Memchache出现的较早,应用的比较方法,客户较多;
Redis比Memchache出现晚一些,由于Redis 卓越的性能以及弥补Memchache的一些缺陷,有超过Memchache的趋势,但是两者目前都有自己的优势。下面主要从以下几个方面说明一下区别与联系;
1、数据存储介质: Memchache缓存的数据都是存放在内存中,一旦内存失效,数据就丢失,无法恢复;Redis缓存的数据存放在内存和硬盘中,能够达到持久化存储,Redis能够利用快照和AOF把数据存放到硬盘中,当内存失效,也可以从磁盘中抽取出来,调入内存中,当物理内存使用完毕后,也可以自动的持久化的磁盘中。
2、数据存储方式:Redis与Memchache都是以键值对的方式存储,而Redis对于值 使用比较丰富,支持Set,Hash,List,Zet(有序集合)等数据结构的存储,Memchache只支持字符串,不过Memchache也可以缓存图片、视频等非结构化数据。
3、从架构层次:Redis支持Master-Slave(主从)模式的应用,应用在单核上, Memchache支持分布式,应用在多核上
4、存储数据大小:对于Redis单个Value存储的数据最大为1G,而Memchache存储的最大为1MB,而存储的Value数据值大于100K时,性能会更好
5、Redis只支持单核,而Memchache支持多核。