👌redis相比memcached有哪些优势?

👌redis相比memcached有哪些优势?

口语化回答

redis 相比 memcached,主要提供了丰富的数据类型和各种高级操作。memcached 仅仅支持字符串类型,redis 支持 5 种基础+4 种高级,非常丰富。还有就是 redis 提供了 rdb 和 aof 的持久化机制,memcached 一旦重启,数据就会直接丢失。分布式相关,redis 天然支持主从复制,哨兵,集群,memcached 还需要靠一些第三方库和工具类实现。再高级一点的就是 redis 支持像 lua,事务,发布订阅这些,memcached 统统不支持。

题目解析

最近几年基本上不会考这道题了,这道题在早些时候,memcached 还用的时候,问的比较多。除非碰到还在用memcached 的公司,否则不会被问到。大家稍微了解即可,比较的过程也是了解历史的过程。

面试得分点

丰富数据类型,持久化,分布式,lua,事务

题目详细答案

通过一个表格来进行对比

redis Memcached
数据类型 Redis 支持字符串、哈希、列表、集合、有序集合、位图、HyperLogLog、地理空间和流等多种数据类型 Memcached 仅支持字符串类型的键值对。
持久化机制 Redis 支持将数据持久化到磁盘,可以通过 RDB 快照和 AOF 日志来保存数据,确保在系统重启后数据不会丢失 Memcached不支持持久化,数据仅保存在内存中,一旦服务器重启或宕机,数据就会丢失。
分布式 支持主从,哨兵,集群 Memcached也支持分布式部署,但通常需要依赖第三方库或工具来实现
脚本功能 Redis 支持在服务器端执行 Lua 脚本,能够将多个操作合并为一个原子操作 不支持
事务 Redis 提供 MULTI、EXEC、WATCH 等命令,支持简单的事务操作 不支持事务
内存淘汰策略 Redis 提供多种内存淘汰策略,如 LRU、LFU 等 Memcached 仅支持 LRU 淘汰策略。
 wechat
天生我才必有用