gpt4 book ai didi

java - 如何抽象出两种不同的缓存实现

转载 作者:行者123 更新时间:2023-12-02 00:56:00 25 4
gpt4 key购买 nike

我计划在我的负载平衡 Web 应用程序中使用分布式缓存。所以我打算尝试抽象出apache ehcache和memcached之间的公共(public)功能。

我的目标是能够进行简单的配置开关来选择要使用的缓存解决方案。我应该走 SPI 路线吗?就像 XML 解析器是如何连接的?

最佳答案

从我的头顶...

  • 使用常见的缓存相关方法创建接口(interface)(add()、remove()、refresh() 是最明显的方法)。
  • 创建该接口(interface)的实现,并在底层使用所需的缓存(“MyEhCacheImplementation”和“MyMemCachedImplementation”或类似内容)。
  • 创建一个 CacheFactory,它根据数字、字符串或枚举等简单值返回某种类型的缓存。不要忘记为默认实现做后备!
  • 创建某种方法在初始化时将单个值注入(inject)到工厂中,例如,如果您有一些在启动期间读取各种设置的类,或者您正在使用 Spring applicationContext.xml 或类似的东西,则需要创建一个初始化方法对于接受该参数的缓存,调用工厂并返回正确的缓存类型和/或将其设置到您使用它的某个位置。

我相信这就是您在结构上需要让它可靠地工作所需的全部,这样您就可以在任何需要的时候扩展它。

关于java - 如何抽象出两种不同的缓存实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/362300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com