# 与Redis对比优势

# 产品架构

  • Sudis

    • Sudis 采用多网络和多处理线程,在多核机器上性能会明显优于单线处理。
    • Sudis 集群采用集中式管理机制,在集群规模增大时,效率随之增加,优势明显。
    • Sudis 资源可弹性平滑扩缩容,业务几乎无感知。
  • 开源Redis

    • 开源Redis的是单线程的,通过epoll实现的多路复用技术
    • Redis集群采用选举的方式,效率较低。
    • 开源Redis采用主从异步复制,访问从节点数据会不一致,一旦主备故障就会导致部分数据丢失
    • Gossip协议在开源Redis集群规模过大时,效率显著下降。
    • 扩缩容开源Redis的容量实际上就是变更物理节点数量,对业务影响大。

# 业务场景

  • Sudis
    • 数据量小场景,Sudis提供更低成本。
    • 数据量大场景,开源Redis难以胜任,Sudis完美驾驭。
  • 开源Redis
    • 对数据安全性要求低,接受核心数据丢失或被LRU挤出。
    • 对稳定性要求低,接受OOM宕机发生。
    • 接受多点访问数据不一致。往往只能用于数据量小、数据有效期短的业务。

# 安全

  • Sudis
    • 高:Sudis采用纯自研架构,基本不存在开源Redis安全漏洞问题。
  • 开源Redis
    • 低:开源Redis内核不定期会爆出安全漏洞问题,如CVE-2021-32761等。如版本升级不及时,随时有被恶意利用风险。

# 数据可靠性

  • Sudis
    • 可选毫秒级数据落盘,数据丢失风险低。
  • 开源Redis
    • 内存数据秒级落盘,且主从异步复制不及时,存在数据丢失风险。