常用本地缓存工具包括,qq本地缓存记录包括
发表于 ・ 资讯中心
对于网友想知道的常用本地缓存工具包括和qq本地缓存记录包括的话题,本文有详细的解,希望能帮助到大家。
NacosConfig的SpringBootapi使用起来不太灵活。我们想要的是一个抽象的缓存工具,NacosConfig只是其中的一种实现。NacosConfig的javaapi不提供本地缓存,每次请求都会去配置中心拉取数据,所以需要我们手动打包。
定义配置工具接口
导入javautilMap;导入javautilProperties;公共接口IConfigNacosConfig实现
导入comalibabanacosapiNacosFactory;导入comalibabanacosapiconfigConfigService;导入comalibabanacosapiconfiglistenerListener;导入comalibabanacosapiexceptionNacosException;导入comqiejkcommonsutilbaseJsonTool;导入comqiejkcommonsutilbaseLogTool;导入comqiejkcommonsutilbaseSpringContextTool;导入orgspringframeworkstereotypeComponent;导入javautilMap;导入javautilProperties;importjavautilconcurrentConcurrentHashMap;importjavautilconcurrentExecutor;Component公共类NacosConfigTool实现IConfigcatchNacosExceptioneprivateStringgetConfigStringdataId//Nocos的addLisener其实存在线程安全题。事实上,同一个节点可以添加多个监听器。这里,一个锁Objectlock=lockMapcomputeIfAbsentdataId,k-gt;新对象;同步锁lockMapremovedataId;返回ret;privateStringgetConfigFromRemoteStringdataIdcatchNacosExceptionereturnnull;//配置监听器静态类MNacosConfigListener实现ListenerOverridepublicExecutorgetExecutorOverridepublicvoidreceiveConfigInfoStringconfigInfoOverridepublicStringgetStringConfigStringdataIdOverridepublicObjectgetJsonConfigStringdataId,StringkeyOverridepublicMaplt;String,Objectgt;getJsonConfigStringdataId覆盖公共属性getPropertiesConfigStringdataId工具类
导入comqiejkcommonsutilbaseuIConfig;导入javautilMap;导入javautilProperties;公共类ConfigTool公共静态对象getJsonConfigString路径,字符串键公共静态Maplt;String,Objectgt;getJsonConfigStringpathpublicstaticPropertiesgetPropertiesConfigStringpathppublicstaticStringgetStringConfigStringpath这样我们就得到了一个实现的配置工具是什么,默认实现是NacosConfig,默认有本地缓存。
影响
测试publicvoidtestNacosConfigtest=5MNacosConfigListenerreceiveConfigInfo测试刷新配置6test=6test=6MNacosConfigListenerreceiveConfigInfo测试刷新配置7test=7test=7优化
其实还有很大的优化空间,比如用guava替换本地缓存。作者小丸子的哑链接
本文介绍常用本地缓存工具包括,以及qq本地缓存记录包括对应的这类相关内容已经解完毕,希望对各大网友有帮助。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。