在线答题系统的设计

系统说明

  1. 共100道不定项选择题,存储在MySQL数据表(ques)中
  2. 每个考生的题目顺序不一样
  3. 150人同时答题和交卷

系统设计

时间同步

要求考生在同一时间进行交卷,就要统一时间。

因此我们以服务器时间为准,在考生登录时获取服务器时间作为开始时间。

打乱题目顺序

使用mysql中的order by rand()方式打乱题目顺序,其中rand种子是考生的考号。

可以保证每个考生的题目顺序是不同的,但是又能保证自己题目的顺序是固定的。

Redis缓存答题记录

为提高系统的响应速度,将考生作答结果保存到Redis数据库中。

Redis存储已作答题目

将考生所有的已作答题目存储到Redis集合中,用于在系统中显示考生答题记录。

sadd ansLog:201101 1
sadd ansLog:201101 2

Redis存储答题结果

将考生的答题结果存储到Redis哈希中

hmset ans:201101 1 AD   # 记录数据库中题目id为1的答题结果
hmset and:201101 2 ED   # 记录数据库中题目id为2答题结果
hmset ans:201101 1 DE   # 更新数据库中题目id为1答题结果
hget ans:201101 2       # 查看数据库中题目id为2答题结果

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值