新缓存是区域缓存。
如果要禁用缓存,则必须将所有regioncache的大小设置为0.它不会被禁用,但不会缓存任何内容。
您可以使用其他响应中提到的代码禁用它 Registry.getCurrentTenant().getCache().setEnabled(false);
Registry.getCurrentTenant().getCache().setEnabled(false);
您可以通过设置来使用旧缓存 local.properties cache.legacymode=true 。 但是,这不会禁用所有缓存。
local.properties
cache.legacymode=true
现在,如果在查询大量对象时问题的响应时间很短,则可能需要定义自己的缓存区域并在属性中设置正确的值:
<alias name="defaultMyObjectCacheRegion" alias="myObjectCacheRegion"/> <bean name="defaultMyObjectCacheRegion" class="de.hybris.platform.regioncache.region.impl.EHCacheRegion"> <constructor-arg name="name" value="MyObjectCacheRegion" /> <constructor-arg name="maxEntries" value="${regioncache.myObjectcacheregion.maxentries}" /> <constructor-arg name="evictionPolicy" value="${regioncache.myObjectcacheregion.evictionpolicy}" /> <constructor-arg name="statsEnabled" value="${regioncache.stats.enabled}" /> <constructor-arg name="exclusiveComputation" value="${regioncache.exclusivecomputation}" /> <property name="handledTypes"> <array> <value>[MyObject typecode]</value> </array> </property>
总而言之,你不应该尝试禁用hybris缓存,这几乎是不可能的。但您可以轻松清除它以进行测试。 如果您遇到性能问题,我建议您查看数据库事务。这往往是一个瓶颈。见: https://help.hybris.com/1808/hcd/8c7387f186691014922080f2e053216a.html
您是否考虑为PointOfService的调用添加分页?让客户端一次只请求10/100个元素。然后,客户端可以请求前10个,后10个......元素。这样,通话速度会快得多。它也不会填补你的缓存,并强调服务器和数据库。客户端在处理数据时也会更加安全。
您可以手动删除Hybris缓存 - https://开头本地主机:9002 / HAC /监视/缓存
从HAC以提交模式运行以下groovy脚本
tenant.getCurrentTenant().getCache().setEnabled(false);
要重新启用它,请将false更改为true。