类CacheBuilderSpec
CacheBuilder 配置规格。
CacheBuilderSpec 支持从字符串中解析配置,这使得它对于命令行配置特别有用。
字符串语法是一系列的逗号分隔的key或者key-value对,每个对应到 CacheBuilder 的方法:
| 字符串 | 方法 | 
|---|---|
| concurrencyLevel=[integer] | concurrencyLevel() | 
| initialCapacity=[integer] | initialCapacity() | 
| maximumSize=[long] | maximumSize() | 
| maximumWeight=[long] | maximumWeight() | 
| expireAfterAccess=[duration] | expireAfterAccess() | 
| expireAfterWrite=[duration] | expireAfterWrite() | 
| refreshAfterWrite=[duration] | refreshAfterWrite() | 
| weakKeys | weakKeys() | 
| softValues | softValues() | 
| weakValues | weakValues() | 
| recordStats | recordStats() | 
随着 CacheBuilder 的演进,支持的key的集合可能增长,但是已经存在的key不会被删除。
Duration 被表示为整型,带有"d", "h", "m", 或 "s"中的其中一个符号,用来表示对应的天/days, 小时/hours, 分钟/minutes, 或者 秒/seconds。
在逗号和等号前后的空白字符将被忽略。key不可以重复。同样在一个单值中使用下列key对也是非法的:
- maximumSize 和 maximumWeight
- softValues 和 weakValues
CacheBuilderSpec 不支持配置 CacheBuilder 的有非值参数的方法。这些必须在代码中配置。
可以使用 CacheBuilder.from(CacheBuilderSpec) 或 CacheBuilder.from(String) 来从 CacheBuilderSpec 实体化CacheBuilder。