基于CacheManager组件的Couchbase配置
Posted 行野摄色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于CacheManager组件的Couchbase配置相关的知识,希望对你有一定的参考价值。
使用CacheManager组件,在配置Couchbase缓存支持时,由于对配置节cache handle命名规则要求不了解,费了点时间查了源码才明白。
section配置节
<sectionGroup name="couchbaseClients"> <section name="couchbase" type="Couchbase.Configuration.Client.Providers.CouchbaseClientSection, Couchbase.NetClient" /> </sectionGroup>
cacheManager中的cache节点配置
<managers> <cache name="cacheName" updateMode="Up" enableStatistics="false" enablePerformanceCounters="false"> <handle name="couchbaseClients/couchbase:default" ref="couchbaseHandle" expirationMode="Absolute" timeout="50s"/> </cache> </managers>注意:
handleName的命名规则必须满足可通过配置名称找到CouchbaseClientSection对应配置节,即couchbaseClients下的couchbase
Bucket名为可选,默认为default
格式为<configKey>:<bucketName>
源码参考CacheManager.Couchbase.BucketCacheHandle
// we can configure the bucket name by having "<configKey>:<bucketName>" as handle‘s // name value var nameParts = configuration.Key.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries); Ensure(nameParts.Length > 0, "Handle key is not valid {0}", configuration.Key); this.configurationName = nameParts[0]; if (nameParts.Length == 2) { this.bucketName = nameParts[1]; } this.configuration = CouchbaseConfigurationManager.GetConfiguration(this.configurationName); this.bucketConfiguration = CouchbaseConfigurationManager.GetBucketConfiguration(this.configuration, this.bucketName); this.bucket = CouchbaseConfigurationManager.GetBucket(this.configuration, this.configurationName, this.bucketName);
以上是关于基于CacheManager组件的Couchbase配置的主要内容,如果未能解决你的问题,请参考以下文章
CacheManager彻底解密:CacheManager运行原理流程图和源码详解(DT大数据梦工厂)
Spring Boot2.X 自定义Redis的cacheManager,保存Json格式到Redis
CacheManager.clearAll throws CacheManager 已为 Junit 程序关闭