返回
Redis 基础与数据结构
百科(权威知识源 · 考试范围)
Redis 基础与数据结构
Redis(Remote Dictionary Server)是高性能的内存数据库,常用于缓存、消息队列、分布式锁、排行榜等。它将数据保存在内存中,读写速度极快。
Redis 为什么快
Redis 采用**单线程 + 事件驱动(IO 多路复用)**处理命令:
- 命令执行原子、无锁竞争。
- 基于 epoll 等多路复用,高效处理大量并发连接。
数据操作直接操作内存,避免磁盘随机 IO(持久化是异步/后台)。
五种核心数据结构
Redis 提供 5 种核心数据类型(从「外观」看):
1. 字符串 String
最广泛使用的类型,是 SET/GET 等命令的操作对象;数据库的所有 key 也用它保存。可用于计数器、缓存值。底层用 SOS(SDS 简单动态字符串)保存。
SET key value
GET key
INCR counter
2. 哈希 Hash
HSET/HLEN 等命令的操作对象,适合存一个对象的多个字段(类似 Map)。
HSET user name 张三 age 18
HGET user name
3. 列表 List
LPUSH/LRANGE 等命令的操作对象,有序、可重复,可用作队列、栈、消息流。
LPUSH list a b c
LRANGE list 0 -1
4. 集合 Set
SADD/SRANDMEMBER 等命令的操作对象,无序、去重,基于哈希表实现(增删查都是 O(1)),支持交集/并集/差集(如共同好友)。
SADD tags java python
SINTER tags other
5. 有序集合 ZSet
ZADD/ZCOUNT 等命令的操作对象。每个元素关联一个 score(分数),Redis 通过分数对成员从小到大排序;成员唯一但分数可重复。适合排行榜、延迟队列。
ZADD leader 100 a 90 b
ZRANGE leader 0 -1 WITHSCORES
编码方式(实现层面)
不同数据规模会自适应使用不同编码(如 List、Hash 用 ziplist/quicklist、Set 用 intset、ZSet 用 skiplist)以节省内存与提升性能。
总结
- Redis 内存数据库,单线程 + IO 多路复用,高性能。
- 五大结构:String / Hash / List / Set / ZSet,各有适用场景。
- 选对数据结构是高效使用 Redis 的关键。
考试信息
通过标准满分(错一道即与满分无缘,可把整卷答完看解析;重考不限次数)
时间限制不限时
单卷抽题数10 题
成绩窗口2026-09-14 ~ 2026-09-20
积分学费10 积分
支付方式满分后用积分支付(自主决定)
用积分支付:成绩长期保留,参与排名,积分学费含平台资助池;不支付:成绩保留至窗口截止后清空
积分无充值通道;积分不足 10 时,平台自动发放 100 积分。积分不可提现、不可转让、无现金价值。
排行榜(窗口期最短满分用时 · 前 0 名)
当前窗口(2026-09-14 ~ 2026-09-20)
该窗口暂无满分记录
课程(免费学习 · 共 0 门)
暂无课程
登录后可查看我的出题、测试记录并参加满分考试