模块四作业 - 考试试卷 -Redis 存储方案设计
待考试试卷列表-使用 List 结构
Key:学校 id+届号+年级 id+学期 id
Value:[{课程,考试序号(第几次考试),试卷内容 id}];
试卷内容-使用 String 结构
Key:试卷内容 id;
Value:试卷内容 Json 报文;
【读写分析】
1、写试卷:
1.1、进入考试期后,根据学校 id+届号+年级 id 去添加试卷信息到待考试试卷列表;
1.2、考试期过后可将试卷从待考试试卷列表中清除;
2、读试卷:
2.1、进入考试时根据当前登录学生的学号获取对应的学校 id、学生所属的届号、年级 id、学期 id 获取待考试试卷列表;
2.2、从待考试试卷列表中选择要考试的试卷,根据试卷内容 id 获取试卷内容;
【性能估算】
内存:每套试卷预估占用 50KB,预计总共有 3000 所大学,预估每个大学有 700 门课程、每次总共 4 个年级要考试,则:
3000 * 700 * 4 * 50KB = 400MB,内存要求很低,我们每台机器用 2-4G 内存即可 ;
机器:试卷占用内存较少,内存不是瓶颈,主要瓶颈在带宽,按 QPS 5W 来算,需要的带宽大小预计为:50KB*50000=2440M,按每台机器 100MB 带宽情况下,Redis 集群共需要 2440/100=24 台机器;
评论