一.简介
- 在iOS App开发中,会遇到一些数据需要持续性保留;根据储存介质的不同,主要分为内存缓存和硬盘缓存.
-
内存缓存
1.特性: 把数据写入(缓存)在内存中,App退出时会被清除.
2.使用场景: 储存一些临时数据,一般为短时间使用但创建昂贵的对象.
3.优势: 重用这些对象可以优化性能,不需要重复的创建销毁,节省CPU和内存资源.读写速度较快. -
硬盘缓存
1.特性: 把数据写入(储存)在硬盘中,App卸载时会被清除(部分设置数据可由用户在卸载时选择是否删除;如果用户选择不删除,在iOS系统重装或抹掉所有数据之前,重新下载此App,数据还能恢复).
2.使用场景: 储存一些需要长久保存的数据,一般为用户设置相关的数据,和不需要经常更新,且占用大量资源的数据(如音视频)
3.优势: 再次复用这些数据时,不需要调用网络接口,节省服务器资源,提高读取效率,提升用户体验.读写速度较慢.
二.内存缓存
-
缓存方案
1.NSCache
三.硬盘缓存
基础资料
1.沙盒(Standbox)
2.数据库(Database)缓存方案
1.Property List
2.NSBundle
3.NSFileManager
4.NSUserDefaults
5.NSKeyedArchiver/NSKeyedUnarchiver
6.SQLite
7.CoreData
8.FMDB
三.内存+硬盘混合缓存
-
缓存方案
1.NSURLCache
2.YYCache
结语
1.开发者可根据业务场景选择合适的持久化方案
2.如需了解更多储存方案请下方留言,本人会逐步更新完善此章节!