在一个相当大的遗留项目中,我已经将几个毛茸茸的模块重构为Moose类.这些模块中的每一个都需要数据库访问(懒惰)获取其属性.由于这些对象使用得相当多,我想减少冗余请求的数量,例如对于未更改的数据.
现在,我该如何正确地做到这一点?我有几个选择:
在我的Moose类中实现缓存,通过一个角色将它们存储在memcached
5-10分钟的到期时间(可能不是太困难,但是对于懒惰属性来说很棘手)更新:KiokuDB可能在这里有所帮助,必须阅读有关属性的内容
迁移到DBIx::Class
(无论如何都需要完成)并在此级别上实现缓存(DBIC可能会消除大部分的痛苦)
不知怎的,让我的对象在mod_perl进程内持久存在(不知道如何做到这一点:()
你会怎么做?你认为什么是理智的方式?是否在对象或ORM级别上缓存数据?