1、memcached数据存储类型只有key-value方式存储, redis支持的更多, 包括链表,哈希表,集合, 有序集合等;
2、memcached不支持持久化存储,当memcached的服务器重启,数据全部丢失;redis支持持久化, 是将数据存放在磁盘上的,重启redis服务后依然可以载入磁盘中的数据,数据不会丢失;
3、memcached是可以支持多线程,redis是单线程,在大量数据,大概100k以上,memcached的速度是要比redis快的;少量数据的时候redis速度要比memcached快;
4、内存使用率上memcached是在使用前先划分和内存,再把内存分成若干个小的模块,在使用时根据数据大小进行分配;内存使用率高, 但如果redis使用hash结构来做key-value存储,由于其组合式的压缩,内存使用率将更高;
5、Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。