Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

redis简介

  • 全称 Remote Dictionary Server

  • 用途

    • 缓存热点数据
      • 可设置过期时间和淘汰策略
    • 热度排行榜
    • 加一计数器
    • 消息队列
  • 主要特性

    • 读写性能可达10万/秒

      • 所有数据都放在内存中,而内存响应速度在100ns级别
      • 基于单线程架构,避免了线程切换和竞态条件下锁的开销
        • 单线程的缺点: 如果某个命令执行过久,就会阻塞其他命令
      • 使用epoll作为I/O多路复用技术
      • 底层使用C语言实现
    • 按照键-值 对来存储数据

      • 键key —— 只能是String字符串类型
      • 值value
        • 五种基本结构
          • String —— 字符串
          • List —— 列表
          • Set —— 唯一集合
          • Zset —— 有序集合
          • Hash —— 哈希散列
        • 演变结构
          • Bitmaps —— 位图
          • HyperLogLog
        • 新增结构
          • Stream —— 流/队列
    • 数据可持久化到硬盘

      • RDB
      • AOF
  • 标志性版本

    • 2.6 —— 2012年
      • 键过期时间支持毫秒级
      • 从节点支持只读
    • 3.0 —— 2015年
      • 支持Cluster分布式实现
    • 4.0 —— 2017年
      • 支持模块系统,方便第三方扩展
      • 非阻塞del和flushdb
      • 提供RDB-AOF混合持久化
    • 5.0 —— 2018年
      • Stream流数据类型
    • 6.0 —— 2020年
      • 权限管理功能ACL
      • 多线程IO处理网络读写
    • 7.0 —— 2022年
      • 支持Redis函数
      • 基于密钥的ACL