nginx缓存

本文介绍了缓存的基本概念,强调其优势和风险,并探讨了缓存的原则。接着,文章详细讲解了web缓存的工作原理,指出常见的redis和memcache不是web缓存。重点讨论了nginx缓存,包括核心指令`proxy_cache_path`、`proxy_cache`和`proxy_cache_valid`,并提供了实际配置示例,展示了如何通过nginx实现缓存以提高响应速度。
摘要由CSDN通过智能技术生成

nginx缓存

cache of nginx

缓存即数据交换的缓冲区,当A与B进行数据交互时,先去找缓存中是否有数据,若在缓存中找不到想要的数据,那么再去B中找;找到了就直接返回不用和B再打交道了。

1.缓存概述

生活中有很多场景,都和缓存相似。这不过年了,秃头男突然想吃猪肉炖粉条了,就去冰箱里去拿猪肉,发现冰箱里空空如也,于是乎就去集市买了两斤。单身汉一人一顿也吃不完啊,于是切了半斤把剩余的又放冰箱里了,美美的吃了一顿。下次再吃就不用去集市了,直接从冰箱里拿即可,等吃完再去集市买呗。

哲学上说存在即合理,那么缓存的存在肯定有他的优势,相反的,有好处就必然会有坏处,事物总是有两面性的。

我们购买电脑的时候常常会看到CPU的描述会有6m或者8m、二级或者三级缓存,对于普通消费者来说肯定是一脸懵逼不知所云,光听销售员吹的天花乱坠去了。对于开发者来说,缓存已经不是一个陌生的东西了,在这个21世纪快速消费的时代,满足消费者的极致体验和与消费者的快速交互,是互联网产品都要解决的一大难题。从而应运而生的各种技术,百家齐放,相互竞争,以让自家产品稳定运行、响应速度快人一等。

缓存追求的是快。在没有缓存时,一个get请求要从服务器获取数据,一般都会经过服务器方的统一网关入口,然后再到具体的服务器,服务器中存储数据的地方一般都是数据库,所以在服务器这里还要再调用应用程序比如MySQL、Oracle等数据库获取资源数据。

数据库是把数据存放到硬盘中,一读一写是一种IO操作,速度就很慢,而缓存是以电信号的形式存在于内存中的数据,读取的速度和硬盘相比就是一个天上一个地下了。

既然缓存是用电信号表示的,那么是不是没电了,缓存也就消失了。所以缓存的致命缺点就是断电即消失,无法找回,无法修复。而硬盘却可以在断电的情况下存储数据,二者在存储原理上是不一样的,所以快亦有风险。

2.缓存原则

秃头男的冰箱的位置放在厨房好,还是放在卧室好还是大厅好啊?对于做饭来说肯定是放在厨房好咯。所以缓存的第一个原则就是越近越好。

越靠近用户,则带宽等网络资源消耗就越少,路短了用时不就短了,能用本地缓存就不要发网络请求。

第二个原则是能用自家缓存就不要用别人家的缓存,秃头男能买的起冰箱就不要把肉放在隔壁老王家。也就是说,对于服务器来说,能用本机缓存最好,若使用其他机器上的缓存是不是还要发送网络请求,这一来一回是不是就会占用很多资源。

3.web缓存

那么什么是web缓存呢?

web缓存位于内容源web服务器和客户端之间,当访问一个url时,web服务器会去后端服务器取回要输出的内容,然后当下一个请求到来时,如果访问的是同一个url,web服务器则会直接输出内容给客户端,而不是向后端服务器再次发送请求。

web缓存服务器,降低了后端服务器和数据库的负载吗,减少了网络延迟,提高了用户访问速速。

那么我们常用的缓存软件比如redis、memcache,是不是web缓存呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值