问题标签 [page-caching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
memory-management - 如何在 Linux 中保留从 RAM 中逐出的文件支持的可执行页面?
我尝试使用madvise(MADV_DONTNEED)
并验证/proc/pid/pagemap
该页面未正确映射。尽管页面中的任何功能都没有被访问,但一些页面很快就会映射回来。根据我的阅读,有两个列表 - 活动和非活动。madvise(MADV_DONTNEED)
将导致从两个列表中删除页面。如果这是正确的,除了 CPU 访问页面中的地址之外,是否还有其他任何东西可以导致页面被加载回来?对代码的引用将非常有帮助。我的目标是保持页面被驱逐而不是加载回来。
shopware - 在产品详细信息页面上显示客户特定信息 - 缓存呢?
我们希望在 Shopware 6 的产品详细信息页面上显示客户(实际上是客户组)特定信息。
似乎有 HTTP 缓存,如果特定客户组显示页面,我们担心页面会被缓存,并且信息会泄露给非客户。
这个假设正确吗?
该文档没有透露太多关于此的信息。
有没有办法设置特定的缓存标签,使信息只显示给正确的客户群?
还是我们需要通过 AJAX 动态获取数据?
额外问题:可以在自动测试中模拟 HTTP 缓存以确保功能正常工作吗?
到目前为止我发现了什么:
控制器的is注解
@httpCache
,似乎控制了一个页面是否被缓存缓存键是在 中生成的
\Shopware\Storefront\Framework\Cache\HttpCacheKeyGenerator::generate
。它考虑了完整的请求 URI,以及一些cacheHash
被注入的。我相信它不会考虑到客户群也许这种
generate()
方法可以修饰,但我不确定这是否是正确的方法。设置了
sw-cache-hash
一个影响缓存的 cookie。它考虑到客户。sw-cache-hash
在这里创建:
因此,一旦您登录或购物车中有一些物品,就会使用不同的缓存哈希。这取决于以下内容,但不取决于它自己的客户群: