- DHH来自37signals的Basecamp Next
- Adam Hawkins的高级缓存在Rails中 我有点困惑于使用俄罗斯套娃缓存的性能影响,具体如下:
使用自动过期键时,似乎每个请求都会导致访问数据库以获取对象时间戳。 我错过了什么吗?(我理解,在最佳情况下,您只需要为层次结构中的顶层键执行此操作,但仍然...)
在第一篇文章中,他们缓存了待办事项列表以及每个待办事项。缓存列表非常有意义,因为它可以节省大量工作(DB查询所有项目)。 但是为什么要缓存单个项目? 您已经要去数据库获取项目时间戳,那到底节省了什么呢? 生成几行html代码?
在第二篇文章中,亚当像这样缓存视图块:cache [post, 'main-content']... cache [post,'comments']。 当添加评论时,它会更改帖子的时间戳,从而使两个条目无效。 但是,“main-content”没有更改-您不想重新生成它! 如何仅使评论无效?(这实际上是一个非常常见的用例-具有几个逻辑独立部分的模型:对象本身,不同的关联,其他存储中的数据等)
任何反馈都将不胜感激!
谢谢。