1.3. 基于文本的缓存编码


基于文本的编码是人类可读的内容,如纯文本。类的 "Hello World" 示例条目可以存储在缓存中,如下所示:

key=hello
value=world
Copy to Clipboard Toggle word wrap

如果您使用 text/plain media 类型对缓存进行编码,则 Data Grid 可以转换到以下介质类型:

  • application/xml
  • application/json
  • application/x-protostream
  • application/x-jboss-marshalling
  • application/x-java-serialized

以下示例配置使用 text/plain; charset=UTF-8 介质类型对键和值进行编码:

<distributed-cache name="mycache">
   <encoding>
      <key media-type="text/plain; charset=UTF-8"/>
      <value media-type="text/plain; charset=UTF-8"/>
   </encoding>
</distributed-cache>
Copy to Clipboard Toggle word wrap

1.3.1. 客户端和基于文本的编码

如果您将编码配置为使用基于文本的介质类型存储键和值,那么您还需要配置客户端以便在这些缓存上运行。

热 Rod 客户端

Data Grid 使用 ProtoStream 库来原生处理 Stringbyte[] 类型。如果您使用 text/plain 介质类型配置缓存编码,Hot Rod 客户端可能不一定需要任何 marshaller 配置来执行缓存操作。

对于其他基于文本的介质类型,如 JSON 或 XML,Hot Rod 客户端可以使用 org.infinispan.commons.commons.marshall.UTF8StringMarshaller marshaller 转换为 文本/plain 介质类型。

REST 客户端

REST 客户端必须在请求标头中包含缓存的介质类型。

例如,如果您将缓存编码配置为 text/plain;charset=UTF-8,则 REST 客户端应发送以下标头:

  • accept: text/plain; charset=UTF-8 用于读取操作。
  • Content-Type: text/plain; charset=UTF-8Key-Content-Type: text/plain; charset=UTF-8 用于写操作。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat