Redis

数据类型 → key/value,list,set,string,sorted 或 丰富/多种数据结构

多线程支持 → Redis5.0及以前版本不支持

分布式存储常见方案 #card

  • 主从模式(Master/Slave) → 主要解决读写分离和数据备份,但主库宕机时需人工切换;
  • 哨兵模式(Sentinel) → 在主从基础上增加自动化监控与故障转移,提升高可用性;
  • 集群模式(Cluster) → 则通过内置的 slot 分片机制,支持多主多从、自动负载均衡,是互联网企业应对大规模业务的主流方案。

集群切片方式

  • 客户端分片 #card
    • 即在客户端就通过key的hash值对应到不同的服务器。
    • 逻辑简单但耦合度高,需要客户端维护分片策略
  • 中间件实现分片 #card
    • 在应用软件和Redis中间,例如:Twemproxy、Codis等,由中间件实现服务到后台Redis节点的路由分派。
    • 通过代理层屏蔽复杂性,应用透明,但会引入转发开销;
  • 客户端服务端协作分片
    • Redis Cluster模式,客户端可采用一致性哈希,服务端提供错误节点的重定向服务slot上。不同的slot对应到不同服务器。
    • Redis Cluster采用 16384 个 slot,服务端负责管理 slot 与节点映射,客户端根据 key 的 CRC16 计算 slot 并路由到对应节点,若节点迁移则通过 MOVED/ASK 重定向实现动态调整。

[[Redis 和原有关系数据库同步方案]]

[[RDB持久化方式和AOF持久化方式对比]]

网络回响

作者

Ryen Xiang

发布于

2025-10-18

更新于

2026-02-17

许可协议


评论