5.3.3. 配置最大大小驱除

将数据网格缓存的大小限制为最大内存量。

流程

  1. 打开 Data Grid 配置进行编辑。
  2. 指定 application/x-protostream 作为缓存编码的介质类型。

    您必须指定一个二进制介质类型才能使用最大大小驱除。

  3. 使用 max-size 属性或 maxSize () 方法配置在 Data Grid 执行驱除前可以使用的最大内存量(以字节为单位)。
  4. (可选)指定字节测量单位。

    默认值为 B (字节)。请参考支持的单元的配置模式。

  5. 将以下内容设置为驱除策略来控制数据网格如何使用 when-full 属性或 whenFull () 方法删除条目。

    • REMOVE 数据网格执行驱除。这是默认的策略。
    • MANUAL 您为嵌入式缓存手动执行驱除。
    • EXCEPTION 数据网格丢弃异常,而不是驱除条目。
  6. 保存并关闭您的数据网格配置。
最大大小驱除

在以下示例中,Data Grid 会在缓存大小达到 1.5 GB (千兆字节)并且创建新条目时删除条目:

XML

<distributed-cache>
  <encoding media-type="application/x-protostream"/>
  <memory max-size="1.5GB" when-full="REMOVE"/>
</distributed-cache>

JSON

{
  "distributed-cache" : {
    "encoding" : {
      "media-type" : "application/x-protostream"
    },
    "memory" : {
      "max-size" : "1.5GB",
      "when-full" : "REMOVE"
    }
  }
}

YAML

distributedCache:
  encoding:
    mediaType: "application/x-protostream"
  memory:
    maxSize: "1.5GB"
    whenFull: "REMOVE"

ConfigurationBuilder

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.encoding().mediaType("application/x-protostream")
       .memory()
         .maxSize("1.5GB")
         .whenFull(EvictionStrategy.REMOVE);