我使用gemfire作为我的缓存。缓存堆大小远高于100GB。我发现当我们从客户端将数据放入gemfire缓存时,它会将数据序列化并发送到服务器,而在服务器上,数据以序列化形式存储。 问题:
任何帮助都会非常感激。
答案 0 :(得分:1)
您是否考虑过使用服务器cache.xml中的read-serialized=true
选项?将此属性设置为true将允许服务器对缓存的对象执行操作,而无需先进行反序列化。请在Pivotal documentation。
答案 1 :(得分:0)
的Vivek,
如果对象的大小太大,将有助于使用Gemfire https://pubs.vmware.com/vfabric5/index.jsp?topic=/com.vmware.vfabric.gemfire.6.6/getting_started/quickstart_examples/delta_propagation.html
的Delta Propagation功能这仍然会有一些序列化/反序列化成本,但不同之处在于客户端只会将“对象中发生了变化”发送到服务器上,理论上这就是将其复制到其他服务器和客户如果在客户上注册了兴趣列表。
我还发现客户端缓存上的正常PUT比使用Function执行(onRegion或onServers等)更高效。