内容简介:如果有一个GET请求,每秒钟有10k请求,但是10s钟才需要刷新一次,你会让内容服务器不停地处理这类请求吗? 不会,这10秒内的100k次请求带来的计算都是毫无意义的,浪费了CPU资源,并且还可能为内容服务器之后的数据库 带来了不必要的压力。所以我们需要引入一个概念:缓存。我们在每次处理请求之前,检查一下内存中是否已经产生了结果,如果是,那么直接返回结果,否则,计算,返回结果并且 同时将结果放入内存中以便重复利用。这显然已经不是和计算机操作系统级别的缓存是同一个概念了,web开发中的缓存 通常是指对静态资
缓存
如果有一个GET请求,每秒钟有10k请求,但是10s钟才需要刷新一次,你会让内容服务器不停地处理这类请求吗? 不会,这10秒内的100k次请求带来的计算都是毫无意义的,浪费了CPU资源,并且还可能为内容服务器之后的数据库 带来了不必要的压力。所以我们需要引入一个概念:缓存。
我们在每次处理请求之前,检查一下内存中是否已经产生了结果,如果是,那么直接返回结果,否则,计算,返回结果并且 同时将结果放入内存中以便重复利用。这显然已经不是和计算机操作系统级别的缓存是同一个概念了,web开发中的缓存 通常是指对静态资源,请求响应等的存储以便节省CPU资源。
在实际生产中,我们一般使用 Redis 作为缓存容器,Redis是一个高性能的K-V数据库,我们把缓存定义好一个key,内容则 放在value中,通常我们还会为key设置过期时间,这样再通过上面的手段便可以大量的节省内容服务器的无用计算。在Redis 火爆之前,一般都会使用memcached,不过我没有用过。
CDN
如果你的客户,或者说请求来源于全球,但是你的网站服务器只在中国有,那么来自美国的用户可能会感觉请求非常的慢, 因为网络质量的问题,一个网络请求可能要跨越太平洋来到中国,带上服务器给出的响应回去。那么有没有什么好办法可以让 全球的用户都得到最快的响应呢?有,把你的服务器部署到全球各个地方,然后通过DNS做负载均衡,解析到最近的服务器, 这样全球的用户的请求都会打到离他最近的地方。这种技术就叫CDN。
一般情况下CDN服务器都会缓存住源服务器的响应,并且定时刷新。但是CDN仅限于可以缓存的内容例如变化不频繁的网页, 如果是频繁变化,或者每个请求得到的响应都不一样,则不适用,例如面向APP或者前端的API接口响应。
参考:
以上所述就是小编给大家介绍的《Web开发系列(七):缓存,CDN》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
奥美的数字营销观点
[美] 肯特·沃泰姆、[美] 伊恩·芬威克 / 台湾奥美互动营销公司 / 中信出版社 / 2009-6 / 45.00元
目前,媒体的数字化给营销人带来了重大影响。新媒体世界具有多重特性,它赋予企业大量机会,同时也带来挑战。营销人有了数量空前的方式来与消费者互动。然而,许多人面对变革的速度感到压力巨大,而且不知道该如何完全发挥这些新选择所带来的优势。 本书为读者提供了如何运用主要数字媒体渠道的方法;随附了领先的营销人如何在工作中有效运用这些渠道的最佳案例;提供了数字营销的十二个基本原则;协助数字营销人了解什么是......一起来看看 《奥美的数字营销观点》 这本书的介绍吧!