如何禁用ehcache或所有类型的缓存?


谦成
2025-03-13 01:10:47 (11天前)
  1. Hybris6.3.0.0-SNAPSHOT

我正在进行性能测试,我需要禁用缓存。我已经禁用了数据库(mySQL)缓存,并希望禁用所有形式的应用程序缓存。 …

5 条回复
  1. 0# 無口君 | 2019-08-31 10-32



    新缓存是区域缓存。



    如果要禁用缓存,则必须将所有regioncache的大小设置为0.它不会被禁用,但不会缓存任何内容。



    您可以使用其他响应中提到的代码禁用它

    Registry.getCurrentTenant().getCache().setEnabled(false);



    您可以通过设置来使用旧缓存

    local.properties


    cache.legacymode=true


    但是,这不会禁用所有缓存。



    现在,如果在查询大量对象时问题的响应时间很短,则可能需要定义自己的缓存区域并在属性中设置正确的值:












    1. [MyObject typecode]

    2. </code>




    总而言之,你不应该尝试禁用hybris缓存,这几乎是不可能的。但您可以轻松清除它以进行测试。
    如果您遇到性能问题,我建议您查看数据库事务。这往往是一个瓶颈。见:

    https://help.hybris.com/1808/hcd/8c7387f186691014922080f2e053216a.html


  2. 1# 昵称不能为空 | 2019-08-31 10-32



    您是否考虑为PointOfService的调用添加分页?让客户端一次只请求10/100个元素。然后,客户端可以请求前10个,后10个……元素。这样,通话速度会快得多。它也不会填补你的缓存,并强调服务器和数据库。客户端在处理数据时也会更加安全。


  3. 2# 昵称为空呵呵 | 2019-08-31 10-32



    您可以手动删除Hybris缓存 -

    1. <a href="https://localhost:9002/hac/monitoring/cache" rel="nofollow noreferrer">
    2. https://开头本地主机:9002 / HAC /监视/缓存
    3. </A>


  4. 3# VIP | 2019-08-31 10-32



    从HAC以提交模式运行以下groovy脚本




    1. tenant.getCurrentTenant().getCache().setEnabled(false);

    2. </code>


    要重新启用它,请将false更改为true。


登录 后才能参与评论