问题标签 [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.
io - Page Fault 和 I/O 之间有什么关系?
我正在上一门关于 Linux 内核中操作系统的课程,它写在我的课程中,下面是其中的内容:
为什么这是真的?Page Fault 和 I/O 之间的联系是什么?
caching - 页面缓存和磁盘缓存有区别吗?
如果这个问题已经得到解答,我深表歉意,我刚刚遇到了一些教科书参考资料,这些参考资料似乎使用术语“页面缓存”和“磁盘缓存”作为单独的实体,但我一直认为它们是同一个东西。
c - 同时使用 Direct-IO 写入和页面缓存读取是否安全?
例如,打开一个文件两次,一个 fd 直接 io 写入,另一个 fd 读取页面缓存?
如何定义safe
:从 direct-io fd 写入一些数据,然后期望immediately
从 page-cache fd读取它们
wordpress - 带有店面主题的 W3 Total Cache 和 Woocommerce:产品类别缓存未更新
我在具有默认 Storefront 主题的 Woocommerce 网站上使用 W3 Total Cache,并且在产品类别页面(属于一个产品类别的产品列表)方面遇到困难。
如果我将产品添加到类别中,我将在页面上看到它已更新(因为我以管理员身份登录并且启用了禁用管理员缓存的选项)。
但是,如果我使用其他浏览器作为访客,我将看不到新产品,而是看到 W3TC 的缓存页面服务器。有些东西阻止缓存插件“看到”产品类别页面已更新,因此需要重新生成该页面的缓存。
要手动尝试解决此问题:
我尝试通过浏览器缓存清除并强制删除该页面缓存(在管理栏>性能>清除当前页面下),但它不起作用。
使用“清除所有缓存”或“清除模块 > 页面缓存:全部”确实有效,但这个想法只是清除更新的页面而不是所有页面。
任何有关解决此问题的见解都值得赞赏。谢谢你。
c - 总是在 mmap 中为常规文件添加 MAP_NORESERVE 标志?
根据手册:mmap
_
MAP_NORESERVE
不要为此映射保留交换空间。保留交换空间时,可以保证可以修改映射。如果没有保留交换空间,如果没有可用的物理内存,可能会在写入时获得 SIGSEGV。
据我了解,如果将常规文件映射到虚拟地址范围,则不需要任何交换空间。只是MAP_ANONYMOUS
可能需要一些交换空间。
那么,始终为常规文件添加MAP_NORESERVE
标志是否正确?mmap
更新:
更具体地说,总是MAP_NORESERVE
在 mmap 中为常规文件添加标志是否正确,何时MAP_SHARED
使用?
php - .htaccess RewriteCond 使用缓存页面(如果它们存在)不起作用
我在共享托管包上安装了一个 laravel 应用程序,我正在使用https://github.com/JosephSilber/page-cache来缓存页面。
缓存的页面存储在以下服务器文件夹中/home/username/public_html/app_name/public/page-cache/article
以下代码位于公用文件夹中的 .htaccess 中
我试图调试 DOCUMENT_ROOT 和 REQUEST_URI 的值,我得到以下信息:
%{DOCUMENT_ROOT} = /home/username/public_html/app_name and %{REQUEST_URI} = /article/race-policing-and-the-universal-yearning-for-safety
使用 .htaccess 中的上述代码,我无法将其定向到缓存页面,但即使文件存在,它也会直接访问应用程序。
例如/home/username/public_html/app_name/public/page-cache/article/race-policing-and-the-universal-yearning-for-safety.html
app_name 文件夹中还有以下 .htaccess 文件。
如果有人可以帮助我确定 .htaccess 存在时未加载缓存页面的原因,我将不胜感激。保持安全,伙计们:)。
linux - 我可以在不使用 mmap 的情况下防止文件页面驱逐吗?
我的理解是,我可以通过mmap
对文件执行操作然后调用mlock
映射内存来将文件保存在内存中。
有没有办法在不做 mmap 的情况下将文件数据保存在页面缓存中?具体来说,我想确保当我将数据附加到文件时,我正在写入的页面永远不会被驱逐。
我意识到这种情况很少见,但在某些情况下我相信它可能会发生。例如,应用程序写入数据,等待时间超过dirty_writeback_centisecs
(在此之后页面变干净并且可以被驱逐),然后写入更多数据。
ruby-on-rails - Rails caches_page 没有读取实例变量并抛出错误
我正在尝试在 Rails 中实现缓存并希望缓存整个主页。到目前为止,最快的方法是cache_page :home
在控制器中使用方法,但它似乎一次都不起作用。这是我的home
方法。
这是我得到的错误:
undefined method each_with_index for nil:NilClass
对于@banners
对象,意味着即使第一次查询也没有命中。
我也找不到任何关于这个问题的文章。我尝试设置不同的商店但没有帮助:
config.cache_store = :mem_cache_store
或
config.cache_store = :memory_store
等
编辑:
我自己解决了。实际上我不知道默认情况下页面缓存不包含在rails中。所以我不得不将它包含在 gem 'actionpack-page_caching' 之后,它工作正常。
database-connection - 连接池是否利用 SQL 页面缓存以及如何利用?
据我了解,对于每个连接,SQL 数据库都会在内存中保留频繁读取和写入的页面,从而显着提高从磁盘读取的速度。
- 如果我使用连接池,我如何利用这个缓存,因为有很多独立的线程,可能读取不同的数据?
- 如果我为每个线程保持打开单个数据库连接而不是使用池,我是否会利用缓存?