首页/数据/NoSQL 速查/Redis 与 Memcached 选型对照
本包目录(322 条)
MongoDB99 条Elasticsearch89 条ClickHouse56 条时序与列式28 条
选型与架构50 条

Redis 与 Memcached 选型对照

两者都做内存 KV,但能力边界不同:Memcached 定位纯缓存、多线程共享内存;Redis 提供数据结构、持久化、复制与集群。判断标准是要不要持久化、复杂结构与高可用,而不是单纯比较吞吐数字。

NoSQL 速查数据更新于 2026-10-12

能力对照

维度RedisMemcached
数据模型string/hash/list/set/zset 等多种结构单一 key → value 字符串
持久化RDB/AOF,可关闭无内置持久化
复制与高可用主从复制、Sentinel、Cluster无内置复制,靠客户端分片
线程模型命令执行单线程(6.0+ 网络 IO 多线程)多线程处理请求
单值大小512MB默认 1MB(启动参数可调)
典型场景缓存 + 计数 + 队列 + 会话 + 分布式锁纯页面/对象缓存、大规模简单 KV

典型命令

典型命令
redis-cli SET session:1001 "uid=7" EX 1800
redis-cli TTL session:1001

# Memcached 查看运行统计(文本协议)
echo stats | nc 127.0.0.1 11211 | head -20
需要原子计数、排行、去重、延迟队列这类能力时选 Redis;只是把数据库查询结果缓存起来且不想引入持久化与集群组件时,Memcached 的运维面更小。

易错点

  • 把 Redis 当纯缓存用时关闭持久化可以减少 fork 与磁盘压力,但重启后缓存全部失效,回源冲击要提前评估
  • Memcached 单值超限会直接拒绝写入(SERVER_ERROR object too large),大对象场景要先拆分或换方案

数据来源与参考

  • Redis Docs: Data types
  • Redis Docs: Persistence
  • Memcached Wiki(GitHub memcached/memcached)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌