iOS数据持久化(看这一篇就够了)

一.简介

  • 在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.如需了解更多储存方案请下方留言,本人会逐步更新完善此章节!

你可能感兴趣的:(iOS数据持久化(看这一篇就够了))