1.3. 基于文本的缓存编码
基于文本的编码是人类可读的内容,如纯文本。类的 "Hello World" 示例条目可以存储在缓存中,如下所示:
key=hello value=world
key=hello
value=world
如果您使用 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 介质类型对键和值进行编码:
1.3.1. 客户端和基于文本的编码 复制链接链接已复制到粘贴板!
如果您将编码配置为使用基于文本的介质类型存储键和值,那么您还需要配置客户端以便在这些缓存上运行。
热 Rod 客户端
Data Grid 使用 ProtoStream 库来原生处理 String 和 byte[] 类型。如果您使用 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-8或Key-Content-Type: text/plain; charset=UTF-8用于写操作。