第 5 章 配置数据容器


配置数据容器,其中 Data Grid 存储条目。指定缓存条目的编码,将数据保存在非堆内存中,并使用驱除或过期策略来只在内存中保留活动条目。

5.1. 为 Data Grid Caches 配置编码

定义 MediaType,Data Grid 在写入和读取缓存时用于对数据进行编码。

提示

当您定义 MediaType 时,您可以将数据格式指定为 Data Grid。

如果要使用 Data Grid Console、Hot Rod 客户端和 REST 客户端,请指定 application/x-protostream MediaType,以便 Data Grid 以 Protobuf 格式对数据进行编码。

流程

  • 为 Data Grid 缓存配置中的键和值指定 MediaType。

    • 声明:设置 encoding 属性。
    • 以编程方式:使用 encoding () 方法。

声明性示例

  • 对键和值使用相同的编码:
<local-cache>
  <encoding media-type="application/x-protostream"/>
</local-cache>
  • 对键和值使用不同的编码:
<cache>
   <encoding>
      <key media-type="application/x-java-object"/>
      <value media-type="application/xml; charset=UTF-8"/>
   </encoding>
</cache>

编程示例

  • 对键和值使用相同的编码:
ConfigurationBuilder cfg = new ConfigurationBuilder();

cfg
  .encoding()
    .mediaType("application/x-protostream")
  .build());
  • 对键和值使用不同的编码:
ConfigurationBuilder cfg = new ConfigurationBuilder();

cfg.encoding().key().mediaType("text/plain");
cfg.encoding().value().mediaType("application/json");

5.1.1. 以 Protobuf 格式存储数据

将数据存储在缓存中作为 Protobuf 编码的条目提供了一个独立于平台的配置,可让您从任何客户端执行缓存操作。

注意

当您为 Data Grid Search 配置索引时,Data Grid 会自动使用 application/x-protostream 介质类型存储键和值。

流程

  1. application/x-protostream 指定为键和值的 MediaType,如下所示:

    <distributed-cache name="mycache">
       <encoding>
          <key media-type="application/x-protostream"/>
          <value media-type="application/x-protostream"/>
       </encoding>
    </distributed-cache>
  2. 配置您的客户端。

热 Rod 客户端必须注册协议缓冲区模式定义,以描述实体和客户端 marshallers。

数据网格在 application/x-protostreamapplication/json 之间转换,因此 REST 客户端只需要发送以下标头来读取和写入 JSON 格式的数据:

  • accept:用于读取操作的 application/json
  • content-Type: 用于写入操作的 application/json
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.