1.3. 基于文本的缓存编码
基于文本的编码是人类可读的内容,如纯文本。经典 "Hello World" 示例条目可以存储在缓存中,如下所示:
key=hello value=world
key=hello
value=world
如果您使用 文本/ 解释介质类型对缓存进行编码,Data Grid 可以转换为并从以下介质类型转换:
-
application/xml -
application/json -
application/x-protostream
以下示例配置使用 text/plain 对键和值进行编码;charset=UTF-8 介质类型:
1.3.1. 客户端和基于文本的编码 复制链接链接已复制到粘贴板!
如果您将编码配置为使用基于文本的介质类型存储键和值,那么您还需要配置客户端以便在这些缓存上运行。
hot Rod 客户端
Data Grid 使用 ProtoStream 库来原生处理 String 和 byte[] 类型。如果您使用 文本/ 解释介质类型配置缓存编码,Hotot Rod 客户端可能不一定要求任何 marshaller 配置来执行缓存操作。
对于其他基于文本的介质类型,如 JSON 或 XML,Hotot Rod 客户端可以使用 org.infinispan.commons.marshall.UTF8StringMarshaller marshaller marshaller,它们转换为 文本/ 解释介质类型。
REST 客户端
REST 客户端必须在请求标头中包含缓存的介质类型。
例如,如果您将缓存编码配置为 文本/解释;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用于写入操作。