我目前正在努力提高我的网站的可扩展性。
我正在做的事情之一是自动生成导航栏、侧边栏、索引等的页面列表,而不是像我现在这样手动完成。
我计划使用一个主JSON文件,其中包含页面、标题、描述、URL等列表,然后在加载页面时使用PHP解析该文件,以显示页面列表。特定的文件格式和使用的语言不适用于这个问题,它只是为了上下文。
这方面的明显问题是效率--每一个页面加载都需要读取JSON文件并为页面列表生成HTML。
我知道缓存是这方面的通常解决方案,因此只有在需要时才运行页面生成脚本,或者数据库可能缓存常见的查询,但是,除了可能降低性能、DoS风险等之外,不使用任何缓存解决方案会带来什么影响?
使用缓存解决方案标准不是在练习,而降低的效率只是被接受了,还是说到世界上几乎每个网站都显示动态内容时,我遗漏了什么?
发布于 2018-03-18 22:51:12
这方面的明显问题是效率--每一个页面加载都需要读取JSON文件并为页面列表生成HTML。
这个问题相当模糊,但是如果我们要解析一个静态JSON文件以输出HTML,那么除非源文件是巨大的,否则它应该是接近“瞬时”的--至少在获得一个完整页面的整个过程中是“微不足道”的,并且所有连接的资源都呈现在用户代理上。
在这种情况下,虽然缓存(呈现的HTML)可能会更快,但这是否会使现实世界有所不同则是另一回事了。(维护缓存的行为本身并不是没有开销的。)
除了可能降低性能、DoS风险等之外,不使用任何缓存解决方案会带来什么影响?
如果缺乏缓存会减慢网站的速度,就像你说的.
你提到"DoS"..。当然,您可能无法处理这么多的用户。但是,简单的缓存不太可能帮助您抵御真正的DOS/DDOS攻击。
使用缓存解决方案标准不是在练习,而降低的效率只是被接受了,还是说到世界上几乎每个网站都显示动态内容时,我遗漏了什么?
缓存有多种形式。大多数站点将使用一种或另一种形式的缓存,即使它们没有意识到这一点。然而,我想说缓存比没有更标准。如果你需要使用额外的缓存,如果你.别!
但是,许多依赖缓存的站点所做的工作远远不止于解析静态JSON文件。
只是想一想,既然你提到JSON..。不要做任何处理服务器端。将JSON发送到客户端,让客户端构建HTML?(是的,这会创建一个JavaScript依赖项--但是如果需要的话,这可以在第一次加载时检查,然后返回到服务器端呈现。)
https://webmasters.stackexchange.com/questions/113648
复制相似问题