首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求各路大神帮忙解决大量用户的排行榜有关问题

2013-08-06 
求各路大神帮忙解决大量用户的排行榜问题本人要做一个OJ(Online Judge)系统,想根据用户答对的题目的数量给

求各路大神帮忙解决大量用户的排行榜问题
        本人要做一个OJ(Online Judge)系统,想根据用户答对的题目的数量给用户一个实时排名,即当用户答对一个题目,就立即更新所有用户的排名,用户也可以实时查询到自己的排名。但是如果将排名持久化到数据库,使用视图、触发器或存储过程之类的计算并更新数据库字段都很耗时,尝试过使用视图,但是当用户量达到一万的时候,查询需要四十多秒。
        网上有人说不持久化到数据库,而是在内存中处理,请问这种方法可行吗?具体如何实现?哪位大神做过类似的项目,可不可以给一下建议?不胜感激!
求各路大神帮忙解决大量用户的排行榜有关问题求各路大神帮忙解决大量用户的排行榜有关问题求各路大神帮忙解决大量用户的排行榜有关问题
[解决办法]
可以用Redis的sorted set数据类型来做
[解决办法]
在内存里处理即可,但还需要注意与数据库的同步,参考下缓存方面的框架(建议使用)
[解决办法]

引用:
即使此时只有一位用户提交了题目,那么他的排名就会改变,同时也会使其他用户的排名改变,这样就需要更新大量用户的排名,所以很耗时间


删掉排名,改成正确题目数,把姓名和题目数做成联合索引,每次做排序查询。
[解决办法]
排名这种即时更新的数据不应该持久化,或者不应该每次更新所有人

热点排行