对于实施而言,这感觉真是个坏主意,而且我不确定在内存中潜在的成本可以节省多少速度。
使用Dalli和Memecache存储一组数据,这些数据会在需要分页的每个页面请求上被提取。它有很多数据,所以如果可能的话我真的不想继续使用数据库,但我也不知道这个操作对于内存来说有多昂贵,无论是在memcache还是在系统内存中。为了分页,我基本上做了以下几点:
WillPaginate必须对来自数据库的数据集执行操作,但它会抛出“无法修改冻结对象”错误。
这有多糟糕? dup
- 一个大对象(缓存以节省调用db的时间)似乎最终会占用大量额外内存并运行GC远远超过需要。有人提出一些解决方法吗?
答案 0 :(得分:0)
您也可以缓存渲染的html,而不是在模型/列表视图中处理对象。您甚至可以预先缓存内容以获得额外的提升:)