Redis 是一款开源的高性能内存键值数据库,由意大利开发者 Salvatore Sanfilippo(又名 antirez)于2009年创建。Redis 以其极快的读写速度、丰富的数据结构和强大的功能特性,成为现代高性能 Web 应用不可或缺的基础组件。 数据结构: - 字符串(String):最简单的键值对,支持数字操作 - 哈希(Hash):适合存储对象数据 - 列表(List):有序字符串列表,支持队列操作 - 集合(Set):无序唯一字符串集合,支持交集、并集、差集 - 有序集合(Sorted Set):带权重的有序集合,适合排行榜 - 位图(Bitmap):位操作,适合统计和状态标记 - 流(Stream):日志数据结构,支持消息队列 核心特性: - 内存存储:数据存储在内存中,读写速度可达10万+/秒 - 持久化:RDB 快照和 AOF 日志两种持久化方式 - 主从复制:支持一主多从架构 - 哨兵模式:高可用自动故障转移 - 集群模式:数据分片,支持横向扩展 - 事务支持:MULTI/EXEC 事务机制 - Lua 脚本:服务端执行 Lua 脚本 - 过期策略:支持键过期自动删除 - 发布订阅:消息发布/订阅模式 应用场景: - 缓存加速:数据库查询结果缓存、会话缓存 - 排行榜:有序集合实现实时排行榜 - 计数器:网站访问量、点赞数、在线人数 - 消息队列:List 或 Stream 实现队列 - 分布式锁:SETNX 实现分布式锁 - 社交功能:好友关系、关注列表 - 实时分析:实时统计、UV/PV 统计 系统要求: Windows / Linux / macOS 推荐在 Linux 系统上部署以获得最佳性能。