模块 4 作业 -Redis 方案
Redis 数据结构
完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构
采用 List 数据结构
List 的 Item 使用 String 记录每道题的内容
使用 RPUSH 进行写题
使用 LRANGE 进行读题
Redis Key 使用试卷 ID
Redis 读写流程
设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)
写流程
确定试卷 ID
对于题目 #1:RPUSH 试卷 ID 题目 #1 内容
对于题目 #2:RPUSH 试卷 ID 题目 #2 内容
对于题目 #n:RPUSH 试卷 ID 题目 #n 内容
读流程
查询试卷题目总数:LLEN 试卷 ID
读取该试卷的所有题目:LRANG 试卷 ID 0 题目总数
通过 Java 等编程语言处理试卷题目 List
Redis 服务器数量
对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能
请求试卷:5 万/每秒
Redis 性能级别:单机 TPS 5~10 万
所以从性能指标上,1 台 Redis 则够用
考虑到故障迁移,至少需要 1 台 Redis 备机
最后要考虑 Sentinel
Sentinel 独立部署 1 台
分别借用 Master、Slave 服务器部署 2 台
所以总计:3 台 Redis 服务器
评论