写点什么

模块四 - 考试试卷存储方案

作者:Only
  • 2022 年 1 月 09 日
  • 本文字数:407 字

    阅读完需:约 1 分钟

数据结构

试卷存储,选择使用 List 结构

key: 学校 id+学院+年级+科目

value:每道题作为 string 存入

选择使用 list,而不用 string 的原因是防止大量请求获取的数据量过大,导致网络带宽成为瓶颈。

不选择 hash 的原因,是因为在计算机上答题,大多数都是按照顺序来的,所以使用 list 比 hash 更合适。


读写流程

  1. 老师登陆后台考试系统

  2. 在考试系统录入题目,每录入一个题目就写到 redis 中(因为录入题目的时间一般都是考试之前,是一个时间段请求的 tps 可以不用考虑)。


  1. 考试前,学生先登录考试系统

  2. 登陆系统后,根据学生信息拉取试卷信息到本地

  3. 如果服务器没有试卷信息,则从 redis 读取,读取之后可以缓存到服务器上


集群

现有的 qps 估算:

请求试卷:1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒

根据https://redis.io/topics/benchmarks redis 官方的基准测试来看 LPOP:71994.96 requests per second

一台 master,两台 slave,三台 Sentinel,总共 6 台 redis 服务器。

发布于: 刚刚阅读数: 2
用户头像

Only

关注

还未添加个人签名 2020.05.27 加入

还未添加个人简介

评论

发布
暂无评论
模块四-考试试卷存储方案