欢迎投稿

今日深度:

Redis进行数据排序,redis数据排序

Redis进行数据排序,redis数据排序


大学时做过一个在线答题系统,考生在规定时间内作答100道不定项选择题,考试结束后系统自动算分。

因为很多考生同时作答,答案都需要往同一个数据表里面写,会因为数据表被锁而导致响应速度过慢。因此,采用Redis缓存技术将考生的答题信息记录在服务器内存中,在考试结束之后再写入到MySQL数据库中。

当时在设计系统时,计算考生分数并排名是在数据写入到MySQL数据库之后进行的。也就是说需要将考生的答题记录取出,然后计算分数,再将考生的分数写入到数据库中。这样设计有一个较大的问题就是,只能在考试结束之后,才能结算的到考生的分数,而不能在考试过程中,实时的显示考生的成绩和排名。

前一段时间在面试中,接触到了Redis排序的知识,发现可以对原来的系统进行如下优化:

lpush users 201101
lpush users 201102
lpush users 201103
set grades:201101 98
set grades:201102 79
set grades:201103 89
sort users by grades:* 
sort users by grades:* get grades:*

参考文章:
http://www.cnblogs.com/redcreen/archive/2011/02/15/1955226.html
http://doc.redisfans.com/key/sort.html

www.htsjk.Com true http://www.htsjk.com/redis/35951.html NewsArticle Redis进行数据排序,redis数据排序 大学时做过一个在线答题系统,考生在规定时间内作答100道不定项选择题,考试结束后系统自动算分。 因为很多考生同时作答,答案都需要往同一个数...
相关文章
    暂无相关文章
评论暂时关闭