千万级学生管理系统的考试试卷存储方案
1、考试试卷存储方案 Redis 数据结构可采用 List,List 中的每一条用 json 格式存储题目
Key:科目 id
value:第一题,题目,类型(选择题),[选项 1,选项 2,选项 3,选项 4]
第二题,题目,类型(选择题),[选项 1,选项 2,选项 3,选项 4]
第三题,题目,类型(选择题),[选项 1,选项 2,选项 3,选项 4]
第四题,题目,类型(填空题)
第五题,题目,类型(填空题)
第六题,题目,类型(简答题)
…………
…………
2、老师添加题目从 Redis 中通过科目 id 为 key 获取科目所有题目,添加修改删除题目,并调整题目顺序后将整个 List 用科目 id 为 key 重新保存到 Redis;学生获取试卷时通过科目 id 为 key 获取 List 中所有的题目并在页面渲染展示。
3、由于试卷请求预估 QPS 为 5 万/S,单台 Redis 的 TPS 可做到 5 到 10 万,单台 Redis 即可满足性能要求;为了保持一定的性能冗余,Redis 可部署为一主一从,通过 Sentinel 监控做主从切换。
评论