有时候,对同一个URL请求多次,返回的数据可能一样的;
比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的,但是这些情况会造成以下问题:
1,用户流量的浪费;
2,程序响应速度不够快
为了提高程序的响应速度,可以考虑使用缓存(内存缓存\硬盘缓存) 硬盘缓存也是沙盒缓存;
第一次请求数据:
1,客户端优先会去内存缓存中检测有无缓存;
2,然后再去硬盘缓存中检测有无缓存;
3,再去服务器请求数据;
当服务器返回数据时,需要做以下步骤
1,使用服务器的数据(比如解析、显示)
2,将服务器的数据缓存到硬盘(沙盒)
此时缓存的情况是: 内存缓存中有数据; 硬盘缓存中有数据;
一、如果程序并没有被关闭,一直在运行:
内存缓存中有数据;硬盘缓存中有数据;
如果再次请求数据,直接使用内存缓存中的数据即可。
二、如果程序重新启动
内存缓存已经消失,没有数据; 硬盘缓存依旧存在,还有数据;
一旦从硬盘缓存中读取数据,内存缓存中又有数据。
缓存的实现:
1,一般只对GET请求进行缓存,不必对POST请求进行缓存;
GET请求一般用来查询数据;
POST请求一般是发大量数据给服务器处理(变动性比较大)