我正在一个使用 Kohana 3 框架的大型项目中工作,实际上我需要改进它,添加一个缓存系统以减少 MySQL 连接的数量。
我正在考虑开发一个基本(但通用)的模块来生成完整的查询结果缓存,但将表查询结果单独管理到不同的组中。
佩克斯:
缓存组:用户、角色、角色用户等。
每个组包含来自对应表的所有查询结果。因此,如果我想从“用户”获取值,缓存系统会自动将结果添加到缓存系统,但如果我更新“用户”表,“用户”组中的所有键都将被删除。我知道,它不是那么聪明,但它又快又安全(系统也会生成用户列表,结果可能是正确的)。
然后,我的问题是:¿如何在应用程序树中“注入”我的代码?
我首先需要(生成散列键)完整查询(对于某个表-用作组-),以及要存储的该查询的结果。而且,当另一个散列(在该组中)与存储的散列相同时,该值必须从 memcached 中获取。
所以,我需要:表名、查询和结果……我认为可以扩展 Database 类,在 execute() 方法中实现缓存,但我找不到!
我的方式正确吗?execute() 方法在哪里?