Memcached:是高性能分布式内存缓存服务器,本质是一个内存 key-value 数据库,但不支持数据持久化,服务器关闭后,数据全丢失。只支持 key-value 结构。
Redis:将大部分数据放在内存中,支持的数据类型有:字符串、hash 表、链表、集合、有序集合以及基于这些数据类型的相关操作。Redis 内部使用一个 redis object 对象来表示所有key 和 value。
他们的区别:1)redis 中并不是所有数据都一直存储在内存中,这是和 memcached 相比一个最大的区别。2)redis 不仅仅支持简单的 key-value 类型的数据,同时还支持字符串、hash 表、链表、集合、有序集合。3)redis 支持数据备份,即 master-slave 模式的备份。4)redis 支持数据的持久化,可以将内存中的数据保存在磁盘上,重启的时候可以再次加载进内存使用。Memcached 服务器关闭后,数据丢失。5)memcached 挂掉后,数据不可以恢复,redis 数据丢失后可通过 AOF 恢复(灾难恢复)。