Kohana 3 -如何使用memcached缓存查询结果



我在一个使用Kohana 3框架的大型项目中工作,实际上我需要改进它,添加一个缓存系统来减少MySQL连接的数量。

我正在考虑开发一个基本(但一般)模块来生成一个完整的查询结果缓存,但单独管理表查询结果到不同的组。

Pex:

缓存组:users、role、roles_users等

每个组包含对应表的所有查询结果。所以,如果我想从'users'中获取值,缓存系统会自动将结果添加到缓存系统,但是如果我更新'users'表,'users'组中的所有键都会被删除。我知道,它不是那么聪明,但它是快速和安全的(系统也生成用户列表,结果可能是正确的)。

那么,我的问题是:我可以在哪里以及如何在应用程序树中"注入"我的代码?

我首先需要(生成一个散列键)完整的查询(对于某个表-用作组-),以及该查询的结果来存储。并且,当另一个哈希值(在该组中)与存储的哈希值相同时,必须从memcached中获取该值。

所以,我需要:表名,查询和结果…我认为有可能扩展数据库类,在execute()方法中实现缓存,但我找不到它!

我走对了吗?execute()方法在哪里?

我构建了一个Kohana 3模块来完成这个任务,但是它必须与查询生成器一起使用。它还使用Memcache来缓存查询。在插入/更新/删除时失效。

这里有一个链接:

Kohana Memcache Query Caching

最新更新