一、什么叫做缓存?
数据交换的缓冲区就叫做缓存,某一硬件要读取数据时,首先会从缓存中查找需要的数据,找到了的情况下则直接执行,找不到则从内存中找。因为缓存的运行速度比内存快得多,所以缓存的作用就是能够帮助硬件更加快速地运行。简单化的理解就是把用户访问的数据存本地,当用户在某些情况下需要使用时,直接在本地调取缓存的数据,从而能够提高效率。
二、网页
什么情况会有缓存问题?
就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本。当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。如果网页并没有更新,浏览器会直接选择本地缓存的网页。只有当网站明确标识资源更新,浏览器才会再次缓存网页。
如何清楚缓存(谷歌浏览器、360浏览器、ie浏览器)
统一快捷键(Ctrl+shift+del键)
IE6:开始------在IE图标上右键--------internet属性,弹出属性对话框分别点击“删除cookies”和“删除文件”按确定就可以了;
IE7、8、9:开始------在IE图标上右键--------internet属性,弹出属性对话框,点击“删除”按键,选择要删除的项目,点击“删除”即可;
IE 10:工具—>internet选项->常规->"删除文件;删除COOKES;清除历史纪录;
IE 11:按Alt键,显示菜单栏---工具---Internet选项---常规---浏览历史记录---设置---Internet临时文件---查看文件---将目录里面的文件清空即可;
360浏览器:点击工具——清除上网痕迹;
谷歌浏览器:点击右侧自定义及控制——更多工具——清除浏览数据。
三、H5
什么情况会有缓存问题?
1)LocalStorage:永久的本地缓存,存储在客户端的服务器,可主动删除;
2)SessionStorage:本地存储一个会话的数据,会话结束窗口关闭后,数据才会消失;
3)Cookie:存储在本地客户端,在设置cookie的有效期之前一直有效,即便浏览器关闭
如何清楚缓存(苹果浏览器、微信)
1)苹果浏览器:点击菜单的偏好设置——隐私——移除所有网站数据
2)微信浏览器:随便打开一个微信对话,输入并发送debugx5.qq.com,点击发送的地址,拉到调试页面的最底端,勾选上所有的缓存项目,点击清除。
四、小程序
什么情况会有缓存问题?
webStorage:在无网络的情况下,可以操作缓存数据。
如何清楚缓存
删除小程序或者开发人员主动清除。
五、APP
什么情况会有缓存问题?
Android:二级缓存即当需要获得数据时,首先从内存中查找(按键查找),内存中没有的再从磁盘文件或sqlite中去查找,若磁盘中也没有才通过网络获取;
ios:
1)直接写文件方式:可以存储的对象有NSString、NSArray、NSDictionary、NSData、NSNumber,数据全部存放在一个属性列表文件中。
2)NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下。
3)归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中。
如何清楚缓存(苹果、安卓)
Android:进入设置,选择对应应用,清空数据
ios:
1)找到手机的设置按钮,找到 “Safari”,然后点击进去,有清除历史记录与网站数据可清空数据。
2)通过进入软件的存储空间清理部分缓存。
3)通过删除软件而清除缓存。
最后,至于大家如何设计清理缓存的功能,就需要大家思考一下各自所属的类型是什么,因为不同类型的清理缓存它们的侧重点和复杂度也会不同,可考虑系统自动清理缓存,这样以来就不需要花费时间精力去设计独立清理缓存的操作。这样既费时间又费精力,你们觉得呢?以上的种种说法都只是小编的个人想法,欢迎大家带着其他不同的想法让我们一起来思考讨论吧!