我正在阅读拦截器和AOP,他们可以整理你的代码并将跨领域的问题外部化到方面。我立刻想到了CDI以及每次尝试访问数据库时使用自定义拦截器来访问缓存。 是否有任何库已经实现了这个并支持memcache?我认为应该拦截对实体经理的调用。
答案 0 :(得分:3)
你当然不想在开发自己的查询或对象缓存方面重新发明轮子,不是吗?
答案 1 :(得分:1)
通常,使用memcached直接避免数据库请求是非常难以正确和低效的。你真的想要缓存更高级别的概念,比如DAO - > DTO边界。
我已经使用AOP非常成功地在java程序中注入缓存失效和观察者管理代码。 AOP允许我考虑代码的不同部分的不同可重用性集。这并不意味着我不必设计这些方面,但它让我摆脱了限制并阻止我剪切和粘贴等......
所以我的建议是设计这种访问模式,这样你就必须在每个边界上做一堆工作,然后设计在编译时注入该工作的交叉剪切。