# Redis

:远程字典服务器(Remote Dictionary Server),一个键值对型数据库,存储在内存中。

  • 官方文档 (opens new window)
  • 发音为 /ˈrɛdɪs/
  • 采用 ANSI C 开发。
  • 采用 C/S 架构、TCP 通信。
  • 将数据保存在内存中,因此读写速度很快,常用作缓存。也可以将数据持久化保存到磁盘中,用作 NoSQL 数据库。
  • 很轻量级,一个空的 Redis 进程几乎不占系统资源。
  • 同类产品:
    • Memcached :一个内存数据库。
      • 不支持持久化存储。
      • 除了缓存文本数据,也可以缓存二进制文件。

# 版本

  • v1.0

    • 于 2009 年发布。
  • v6.0 以前

    • 没有划分用户,只有一个密码。客户端通过密码登录就可以拥有操作服务器的全部权限。
    • 核心模块采用单线程工作,但是通过 IO 多路复用技术处理高并发请求。
      • 优点:简化了代码开发。
      • 缺点:只能使用 CPU 的一个核,不过 Redis 并不是 CPU 密集型进程,影响不大。
  • v6.0

    • 于 2020 年发布。
    • 支持 SSL 连接。
    • 增加了访问控制列表(ACL),可以定义多个用户,分配不同的权限。每个用户通过用户名、密码进行认证。
    • 支持多线程 I/O ,提升效率。
    • 发布了集群代理 Redis Cluster proxy 。