通常,使用memcached直接避免DB请求是非常难以正确和低效的。你真的想要缓存更高级别的概念,比如DAO - > DTO边界。
我已经使用AOP非常成功地在java程序中注入缓存失效和观察者管理代码。 AOP允许我考虑代码的不同部分的不同可重用性集。这并不意味着我不必设计这些方面,但它让我摆脱了限制并阻止我切割和粘贴等...
所以我的建议是设计这种访问模式,这样你就必须在每个边界上做一堆工作,然后设计在编译时注入该工作的交叉剪辑。
恕我直言,如果你想这样做,你需要一个很好的理由来证明为什么Hibernate Cache / JBoss Cache(只是猜测你的技术堆栈,但几乎所有堆栈的产品/解决方案)都不适合你的需求?
你当然不想在开发自己的查询或对象缓存方面重新发明轮子,不是吗?