页面缓存与数据缓存

2018-1-25

ubuntu里pwd查看当前目录

什么是redis?
redis的全称为remote dictionary server,即远程数据服务,缓存数据库是由意大利人开发的一款内存高速,是用C语言编写的,数据模型为key-value,它支持丰富的数据类型,比如string,list,hash,set,sorted set,它可以支持持久化,保证了数据的安全。

缓存的两种类型:数据缓存,页面缓存(smarty)

页面缓存

1.前言:如果你对前端稍有了解的话,那么你对 “页面缓存” 这个名词应该不是特别陌生了,合理的页面缓存可以让页面的执行效率大大的提高(在第一次访问或者Ctrl+F5强制刷新的时候是不会感受到的),而不是我们一味的设置cache-control为no-cache,当然,如果我们的缓存参数设置的不合理的话,也会给我们带来一定的麻烦。

2.原理:浏览器在对资源的第一次请求之后,会把资源的一部分存储在计算机的临时文件空间,当再次请求的时候,按照特定的策略加载缓存中的资源,从而减少http请求的次数与传输的数据量,提高了浏览效率。

(1)首次请求时:任意打开一个浏览器,浏览器就会对自动设置的参数进行加载,其中就包括缓存设置参数。我们在浏览器的地址栏输入一个url(http://www.baidu.com),这时候浏览器会发送一个简单的HTTP请求报文头给相应的服务器,这个报文头主要包含的信息是请求的url,接受的编码约定,缓存控制等信息。服务器接受到了请求报文头,一堆业务处理完毕之后,balabala。。。,会给出HTTP响应报文,响应报文格式分为报文头和报文体,响应报文头中的信息是很重要的,响应状态码是200,说明是正确返回。cache-control设定了有效时间,在这个时间内新打开新网页(或者地址栏回车)不需要去请求服务器。报文内容类型是image/gif,
最近修改时间是。。。,最近修改时间在浏览器刷新的时候有很大的用处,浏览器刷新的时候,会发送对该图片请求的报文,得到的响应报文中如果最近修改时间和缓存的一致,那么浏览器将会从缓存中读取该图片的信息(状态码是304),如果两个时间不一致,会从服务器请求得到最新的文件,并缓存。 服务器类型等其他信息。该响应报文接受到之后,浏览器解读报文体内容,并打开显示给用户,这是主要的工作。除此之外,浏览器还根据报文头的信息,确定一些缓存规则,比如no-cache的不缓存。

(2)再次请求:再次请求时,才会体现出我们页面缓存的作用。如果这个时候我们在地址栏按照原有url回车的话,针对该图片,是没有发送HTTP请求的,更没有请求服务器资源,浏览器直接从缓存空间读取该图片。检查服务器,得知该文件没有修改,那么浏览器将从缓存中获取该图片。

3.缓存对象:页面缓存,主要缓存什么东西呢?
我们首先要明确一下Content-Type的概念。我们知道HTTP协议是类似MIME的消息结构,MIME类型是和文档的后缀名相关的,我们在请求服务器然后获取到数据,我们只得到了数据,并不知道文档后缀的名字(比如没办法区分css和js),这时候服务器必须使用附加的信息来告诉客户端数据的类型,服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,常见的有text/html、text/css、application/x-javascript、image/gif、image/jpeg、audio/x-mpegurl等,如果这些类型是浏览器能直接识别的,那么浏览器就直接打开显示出来,否则要关联注册表,找到对应的程序来打开,比如audio。。。页面缓存缓存对象除了text/html之外,image/gif、image/jpeg的cache-control一般都通过设置max-age来实现缓存,application/x-javascript通过Last-Modified或者ETags来实现。

数据缓存

数据缓存我们应该都不是很陌生了,比如说高速缓存等等。。。
使用缓存来减轻数据库的负担。在开发网站的时候如果有一些数据在短时间内不会发生变化,而且他们还要被频繁的访问,为了提高用户请求速度和降低网站的负载,把这些数据放在一个读取速度更快的介质上(或者是通过较小的计算量就可以获得该数据),该行为就叫做数据的缓存。该介质可以是文件,数据库,内存,内存常用于数据缓存。

页面缓存:CMS(content manage system)内存管理系统里面。
数据缓存:页面的具体数据里面。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值