更多面试题请看这里:https://interview.raoyunsoft.com/
面试题专栏会持续更新欢迎关注订阅
Redis 是一款开源的内存数据结构存储系统,采用 BSD 许可协议。它不仅是高性能数据库和缓存工具,还能充当消息中间件。核心能力在于支持丰富的数据结构,并提供企业级的高可用方案。
🔑 核心特性
-
内存存储引擎
所有数据优先存储在内存中,实现微秒级读写响应(如图),远超传统磁盘数据库:
-
多样化数据结构
超越简单键值存储,原生支持 5 种核心结构:
Redis 字符串 哈希表 列表 集合 有序集合 位图 HyperLogLog
-
持久化与高可用
- 数据安全:支持 RDB 快照和 AOF 日志两种持久化模式
- 故障转移:通过哨兵机制实现自动故障检测和主从切换
- 水平扩展:Cluster 模式支持分布式部署(如图)
-
高级功能集成
- 原子事务:支持 MULTI/EXEC 事务块
- Lua 脚本:在服务端执行复杂操作
- 发布订阅:消息广播能力
- 自动淘汰:LRU/LFU 内存管理策略
💡 典型应用场景
| 场景类型 | 数据结构应用 | 性能优势 |
|---|---|---|
| 实时缓存 | 字符串/哈希 | 100万QPS读写 |
| 排行榜 | 有序集合(ZSET) | 毫秒级动态排序 |
| 社交关系 | 集合(SET) | 交集/并集运算 |
| 秒杀系统 | 列表(LIST)+事务 | 高并发原子操作 |
| 实时统计 | HyperLogLog/位图 | 低内存精准计数 |
⚙️ 技术架构亮点
集群层 服务层 数据层 16384槽位 Cluster分片 自动故障转移 Sentinel 避免锁竞争 单线程Reactor Epoll多路复用 RDB持久化 内存数据集 AOF日志