【发布时间】:2013-10-27 22:26:47
【问题描述】:
我开发了一个 Rails 应用程序,我在其中使用了一个模型,学生。学生人数相当多,大约10,000人。因此,当我使用这样的 json 调用时:
students.json?subject_id=4
或者做一些这样的查询:
@student = Student.all(:subject_id => 4)
这需要相当长的时间,从 2 到 4 秒。所以我这里想用 Redis 把学生存储在 Redis 中,因为我觉得这样可以把这个搜索时间减少到毫秒级。
其实我以前从来没有用过Redis。我知道我必须重写学生模型和控制器才能使用 Redis。作为 Redis 的绝对初学者,我在问我将如何解决这个问题。另外,如果我的理解有误,请澄清。提前致谢。
【问题讨论】:
-
您可以尝试使用github.com/soveran/ohm作为ODM替代ActiveRecord。
-
但是我在这里使用 DataMapper 作为 ORM,所以你能建议我如何将它与 Redis 一起使用还是不可能?
-
您是否在 subject_id 字段上添加了索引?它可以加快您的查询速度。
-
是的,我已经添加了,即使在那之后它也需要很多时间。
标签: ruby-on-rails redis