There is a simple query cache in Rails. When you use find method to query and the query cache is active, the result will be save in a hash with the sql key. But it literally keys cached model instances on the SQL that was used to pull them out of the database, it can't connect multiple find invocations that are phrased differently but have the same semantic meaning and results.
The ActiveRecordContext plugin by Rick Olson is an example of a query cache implementation that is a little bit smarter about identity, since it keys cached results on primary keys rather than SQL statements.
The ActiveRecordContext README:http://svn.techno-weenie.net/projects/plugins/active_record_context/README
Another blog about this Plugin:
http://activereload.net/2007/5/23/spend-less-time-in-the-database-and-more-time-outdoors
The ActiveRecordContext plugin by Rick Olson is an example of a query cache implementation that is a little bit smarter about identity, since it keys cached results on primary keys rather than SQL statements.
The ActiveRecordContext README:http://svn.techno-weenie.net/projects/plugins/active_record_context/README
Another blog about this Plugin:
http://activereload.net/2007/5/23/spend-less-time-in-the-database-and-more-time-outdoors
本文介绍了Rails中的简单查询缓存机制及其局限性,并探讨了ActiveRecordContext插件如何通过使用主键而非SQL语句来提高缓存智能性,从而减少数据库访问时间。
261

被折叠的 条评论
为什么被折叠?



