在我们的AEM实例中,我们从外部系统获取数据,每个用户在此会话期间此数据是相同的。因此,将这些数据存储在会话/缓存或类似内容中是有意义的。使用我们之前使用的另一个CMS,我们总是将这些数据存储在会话中。对于AEM 6.1来说,这也是正确的解决方案还是有更好的选择?
需要存储的调用1:以字节为单位的大小:34597 需要存储的调用2:以字节为单位的大小:2201
感谢您的回复。
答案 0 :(得分:2)
我能想到3个解决方案..
将Session中的数据导入java类,创建pojo,并使用会话中的数据构建pojo的对象。然后序列化此pojo并将其保存在浏览器的cookie中。 在检索它时,您可以对其进行反序列化,并在表单或java代码中使用它。 必须看到它带来的数据有多大。 Cookie的大小限制为4KB。
如果您可以使用Angular(或JQuery),则可以将此会话保存到" HTML5 LocalStorage"并检索它以操作和显示在表单上或发送到Web服务。 优点是LocalStorage具有更大的容量(5MB),并且大多数现代浏览器都支持它。 缺点是您无法从Java(服务器端)访问此locastorage。 我附上了浏览器存储选项的屏幕截图,当您按下" Ctrl + i"在Chrome上。
将会话数据保存到AEM存储库并从那里进行管理(添加数据,删除,读取等)
我已经实现了上述各项,如果您需要示例,请告诉我。