我计划在负载均衡的webapp中使用分布式缓存。 所以我将尝试抽象出apache ehcache和memcached之间的常用函数。
我的目标是能够进行简单的配置切换以选择要使用的缓存解决方案。我应该去SPI路线,例如比如如何连接XML解析器?
答案 0 :(得分:1)
修复界面后,这确实是一个创建模式的问题。依赖注入是我的最爱,如果缓存选择策略是动态的,你可以使用spring bean工厂在运行时决定。 Spring支持Web应用程序的“会话”范围,这意味着如果您愿意,可以让工厂决定每个会话。
否则一个简单的服务定位器也应该这样做。
答案 1 :(得分:1)
从我的头顶......
我相信你需要在结构上让它可靠地工作,这样你就可以随时扩展它。
答案 2 :(得分:1)
Spring还有一个缓存提供程序模块,它可以完全满足您的需求。不过,我只是不确定是否支持memcached。即使没有,为它编写适配器可能比手动滚动自己的界面要少。见https://springmodules.dev.java.net/docs/reference/0.8/html_single/#cache