什么是 Redis
内存数据存储
Redis是一个高性能的开源内存数据存储,用作数据库、缓存和消息代理。
数据结构
- Strings — 简单字符串和数字
- Lists — 链表
- Sets — 唯一无序元素
- Sorted Sets — 带分数的有序集合
- Hashes — 键值字典
- Streams — 事件流(事件日志)
关键特性
- 速度:每秒100,000+操作
- 持久化:RDB快照和AOF日志
- 复制:主从复制、Redis Sentinel
- 集群:Redis Cluster(分片)
- 发布/订阅:发布和订阅消息
- Lua脚本:原子事务
使用场景
- 缓存 — 会话、API响应、查询结果
- 任务队列 — 后台处理、作业队列
- 速率限制 — API请求限流
- 排行榜 — 排名和榜单
- 实时分析 — 计数器、指标
- 地理定位 — 基于坐标的搜索
命令
- SET/GET — 处理字符串
- LPUSH/RPOP — 队列
- SADD/SMEMBERS — 集合
- ZADD/ZRANGE — 有序集合
- HSET/HGET — 哈希