1.缓存是什么?
用于加速数据交换,达到用时即取的作用。缓存也是优化的一种方式。
2.理解:
一般我们在进行访问请求网站流程:用户通过客户端(浏览器)发送请求到服务器端,服务器端连接到数据库读取数据,最后服务器把数据信息返送到客户端。
加入缓存的理解是:
(1)服务器从数据库读取数据时,可以把数据存入内存中,下次用到同样数据,不需要再次连接数据库,直接从内存中读取。
(2)数据库(mysql)缓存:我们在做sql查询的时候,可以使用mysql自带的缓存机制,把更改不频繁的查询数据缓存起来,下次查询直接在缓存内读取,大大的节约了查询时间。
(3)客户端和服务器端之间用上反向代理服务器,客户端发送请求,代理服务器会代替客户端请求服务器,之后把访问到的时结果缓存到本服务器,下次客户端直接在反向代理服务器中把结果得到,极大的加快了访问速度。
(4)客户(浏览器)端的缓存:用户访问网站静态页面,可以把静态页面缓存到本地文件,下次访问直接从文件内读取,不需要走php解析的过程。
3.更新机制:
缓存都有自己的最大数据储存量,当内存满(达到缓存最大储存量)时,根据自己不同的更新机制实现内存中的更替。
下面是三种更新机制:
LRU:根据时间,长时间不查询的数据会先被剔除
FIFO:是一种先入先出,最早的查询数据优先删除
LFO:根据查询次数,查询次数少的,从缓存中去除