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

时间:2011-10-07 16:38:21

标签: module memcached kohana-3.0

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

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

的Pex:

缓存组:用户,角色,roles_users等。

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

然后,我的问题是:¿我怎样才能在应用程序树中“注入”我的代码?

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

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

我的方式正确吗? execute()方法是什么?

1 个答案:

答案 0 :(得分:0)

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

这是一个链接:

Kohana Memcache Query Caching