首页/数据/NoSQL 速查/键值存储选型:缓存、配置与协调
本包目录(322 条)
MongoDB99 条Elasticsearch89 条ClickHouse56 条时序与列式28 条
选型与架构50 条

键值存储选型:缓存、配置与协调

键值类不只有缓存:Redis 适合高频读写与数据结构;Memcached 只做纯缓存;etcd/Consul 面向少量关键配置与协调(Raft、watch、租约),不适合当业务缓存;托管型 KV 用容量与延迟规格换取免运维。按访问模式与一致性要求对号入座。

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

定位对照

系统关键能力不适合
Redis亚毫秒读写、多种数据结构、复制与集群需要 SQL 与复杂二级索引的场景
Memcached简单 KV、多线程、纯缓存持久化、复制、复杂结构
etcdRaft 强一致、watch、租约(服务于配置与选主)高频大数据量读写(写吞吐有限)
托管 KV(如云厂商服务)弹性容量、按量计费、免运维需要自控内核与深度定制

etcd 典型用途(少量关键数据 + 变更通知)

etcd 典型用途(少量关键数据 + 变更通知)
etcdctl put /config/app/max_conn 200
etcdctl get /config/app/max_conn
etcdctl watch /config/app/ --prefix
判断口诀:数据量大且可丢选缓存类;数据量小且不能错、需要变更通知选协调类;预算换运维选托管类。

易错点

  • 把 etcd 当缓存刷高频写入:Raft 复制与 WAL 落盘让写吞吐受限,且会拖慢集群自身
  • 缓存与配置混用同一个 Redis:配置数据被 eviction 策略逐出后配置读取失败,实例要隔离

数据来源与参考

  • Redis Docs: Data types
  • etcd Documentation: Why etcd
  • Memcached Wiki(GitHub memcached/memcached)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌