【发布时间】:2014-03-12 10:12:29
【问题描述】:
我有一个 Sinatra 应用程序,我想在其中实现一些缓存。用户登录后,大约有 200 次 DB 调用来构建要显示给用户的事物的 JSON 对象,然后他才能看到页面。如果多个用户同时登录,这会使性能下降很多。
想过用Redis、Memcachier之类的东西来缓存对象,在后续的请求中使用缓存对象(something like this),但是我的队友不太热衷于使用第三方服务。
我可以在自己的服务器上做些什么来实现缓存吗?
【问题讨论】:
-
在您发布的链接中,第二个答案说:不要忘记 mkdir 缓存!
-
200 次数据库调用?听起来 DBA 需要参与其中。
-
200 个数据库调用怎么可能。您是否在游标上循环并为每个循环创建查询?缓存服务不会解决糟糕的设计。
-
更改设计是长期计划,但我们即将发布。我最近开始了这个项目。你不知道我对这个设计的感受!
标签: ruby-on-rails ruby caching sinatra