Ruby on rails 将Redis与RubyonRails结合使用
我开发了一个Rails应用程序,其中我使用了一个模型,student。学生人数相当多,大约10000人。因此,当我使用类似这样的json调用时:Ruby on rails 将Redis与RubyonRails结合使用,ruby-on-rails,redis,Ruby On Rails,Redis,我开发了一个Rails应用程序,其中我使用了一个模型,student。学生人数相当多,大约10000人。因此,当我使用类似这样的json调用时: students.json?subject_id=4 或者执行如下查询: @student=student.all(:subject\u id=>4) 这需要相当长的时间,从2秒到4秒。所以我想在这里使用Redis将学生存储在Redis中,因为我认为这样可以将搜索时间减少到毫秒 事实上,我以前从未使用过Redis。我知道我必须重写学生模型和控制器才能使
students.json?subject_id=4
或者执行如下查询:
@student=student.all(:subject\u id=>4)
这需要相当长的时间,从2秒到4秒。所以我想在这里使用Redis将学生存储在Redis中,因为我认为这样可以将搜索时间减少到毫秒
事实上,我以前从未使用过Redis。我知道我必须重写学生模型和控制器才能使用Redis。作为Redis的绝对初学者,我在问我将如何解决这个问题。如果我的理解是错误的,请澄清。提前感谢。10000条记录没有那么多,我认为您应该找出问题是否出在您的数据库设计中。在开发日志或控制台中查找rails生成的db查询,并使用sql的“explain”查看是否使用了索引。您可以尝试使用作为ODM来替换ActiveRecord。但是我在这里使用DataMapper作为ORM,所以您能建议我如何将其与Redis一起使用吗?还是不可能?您是否在subject\u id字段中添加了索引?它可以加快你的查询速度。是的,我补充说,即使在那之后,也要花很多时间。