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