美文网首页
数据持久化机制

数据持久化机制

作者: 6ffd6634d577 | 来源:发表于2016-06-25 10:31 被阅读110次

iOS中数据持久化的几种方式:
1.属性列表
2.对象归档
3.数据库存储(SQLite3)
4.苹果公司提供的持久性工具Core Data。

属性文件

属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换。
NSArray类常用读写属性列表文件的方法:

+arrayWithContentsOfFile:
-initWithContentsOfFile: 
-writeToFile:atomically:

NSDictionary类常用读写属性列表文件的方法:

+dictionaryWithContentsOfFile;
-initWithContentsOfFile;
-writeToFile:atomically:

当然也可以通过代码直接创建plist文件。

对象归档

对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化),使用的时候读取该文件的保存路径读取文件的内容(也称为接档,反序列化)。
简单对象归档
使用两个类:
1.NSKeyedArichiver
2.NSKeyedUnarchiver
例子:使用两个类:

NSKeyedArichiver、NSKeyedUnarchiver
NSString *homeDirectory = NSHomeDirectory();   //获取根目录
NSString homePath = [homeDirectory stringByAppendingPathComponent:@"自定义文件名,如test.archiver"];
NSArray *array = @[@"abc", @"123", @12];
Bool flag = [NSKeyedArichiver archiveRootObject:array toFile:homePath];
if(flag) {
       NSLog(@"归档成功!");
}

自定义内容归档
归档:
使用NSData实例作为归档的存储数据
添加归档的内容---使用键值对
完成归档
解归档:
从磁盘读取文件,生成NSData实例
根据NSData实例和初始化解归档实例
解归档,根据key访问value

SQLIte3

上述方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题。
举例:使用归档。
(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性全部读取,这涉及到应用的性能问题。
(2)如果有1000条数据,此时要把第1001条数据存入,那么需要把所有的数据取出来,把这条数据加上去之后,再存入。
创建步骤
1、创建一个简单的View based application
2、选择项目文件,然后选择目标,添加libsqlite3.dylib库到选择框架
3、通过选择" File-> New -> File... -> "选择 Objective C class 创建新文件,单击下一步
4、"sub class of"为NSObject",类命名为DBManager
5、选择创建
6、更新DBManager,

CoreData

Core Data是苹果官方推荐使用的数据持久化方式,在使用的过程中,不需要导入数据库框架,也不需要使用sql语句操作数据库,完全是按照面向对象的思想,使用实体模型来操作数据库。在使用的过程中需要注意的是,如果模型发生了变化,可以选择重新生成实体类文件,但是自动生成的数据库并不会自动更新,需要考虑重新生成数据库,并把之前数据库中数据进行移植。Core Data能够简化操作,但是它不支持跨平台使用,如果想实现跨平台,就需要使用SQLite来进行数据持久化。

相关文章

  • 缓存架构之01:redis的RDB持久化配置以及数据恢复实验

    课程大纲 1、如何配置RDB持久化机制 2、RDB持久化机制的工作流程 3、基于RDB持久化机制的数据恢复实验 -...

  • Redis备份

    Redis提供两种备份方式:RDB 持久化机制和AOF 持久化机制 1、RDB持久化机制 会在指定时间点生成数据集...

  • Redis专题-RDB持久化配置及数据恢复实践

    课程大纲 1、如何配置RDB持久化机制 2、RDB持久化机制的工作流程 3、基于RDB持久化机制的数据恢复实验 1...

  • 11.redis的RDB持久化配置以及数据恢复实验

    课程大纲 1、如何配置RDB持久化机制2、RDB持久化机制的工作流程3、基于RDB持久化机制的数据恢复实验 1、如...

  • redis的rdb和aof持久化流程

    1、如何配置RDB持久化机制2、RDB持久化机制的工作流程3、基于RDB持久化机制的数据恢复实验 1、如何配置RD...

  • Redis常见面试题

    Redis常见面试题 Redis持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同...

  • Redis

    Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数...

  • 读者让我总结一波 redis 面试题,现在肝出来了

    Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数...

  • 2020-09-05

    1、 Redis持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保...

  • redis

    Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数...

网友评论

      本文标题:数据持久化机制

      本文链接:https://www.haomeiwen.com/subject/bncadttx.html