我有一种方法,可以在请求页面时检测帖子的关键css,并将其排列以优化页面速度。我想缓存这个css,以避免为每个页面请求编译它。我正在使用file_get_contents
在多个css文件上连接css,我被告知这意味着每个请求都需要在文件系统中执行大量读取操作,这对于服务器负载来说不是最佳选择。
我正在尝试决定是将这个关键的css缓存在文件系统中还是数据库中,甚至可能是作为它自己的帖子类型。我知道我将使用css文件名的哈希来生成缓存文件,作为缓存文件的名称。在页面请求中,我将使用此哈希来检查它们是否是缓存文件,以及是否内联或排队缓存该文件。
我正在处理这个缓存的文件,而浏览器是否已经缓存了它的旧版本,这就是我需要决定是否file_get_contents
或者从数据库中获取。就像我之前说过的,我被告知要尽量减少服务器上的读取操作量,我可以通过将css存储到数据库中来减少这一点。
从数据库中获取帖子及其内容会比打电话更好吗file_get_contents()
? 如果CSS相当大,也许会是,我知道MySQL有自己的内置缓存,这可能比我能写的任何缓存系统都要好。然而,读取磁盘上的一个文件似乎并没有那么糟糕,而且它不会在每个页面的每个请求上都发生,每个用户会话可能只会发生几次。
这是一篇冗长的文章。除了使用插件之外,还有其他人想出了这样的关键CSS的解决方案吗?