美文网首页
39(0)数据存储

39(0)数据存储

作者: rebeccaBull | 来源:发表于2017-03-20 19:32 被阅读0次

文件存储有四种方案:NSUserDefault,KeyChain,File,DB

File :plist,Archiver,Stream

DB: CoreData和 FMDB

Plist(NSArray/NSDictionary)存入到文件

Preference(系统的偏好设置/NSUserDefault)  用于存储配置信息

NSCoding(NSKeyedArchiver/NSKeyedUnarchiver) 归档解档

FMDB:是对SQLite3的封装,这里FMDB引入了一个MFDatabase对象来表示数据库,打开数据库和后面的数据库操作全部依赖此对象。 用于存储查询需求较多的数据

一般来说应用中的格式化的文本类数据可以存放在数据库 中,尤其是类似聊天记录、Timeline等这些具有条件查询和排序需求的数据。

Core Data  用于规划应用中的对象  是一个管理方案,它的持久化可以通过SQLite、XML或二进制文件储存。它可以把整个应用中的对象建模并进行自动化的管理。从归档文件还原模型时CoreData并不是一次性把整个模型中的所有数据都载入内存,而是根据运行时状态,把被调用到的对象实例载入内存。框架会自动控制这个过程,从而达到控制内存消耗,避免浪费。 无论从设计原理还是使用方法上看,CoreData都比较复杂。因此,如果仅仅是考虑缓存数据这个需求,CoreData绝对不是一个优选方案

CoreData的使用场景在于:整个应用使用CoreData规划,把应用内的数据通过CoreData建模,完全基于CoreData架构应用。

使用基本对象类型定制的个性化缓存方案:从需求出发分析缓存数据有哪些要求:按Key查找,快速读取,写入不影响正常操作,不浪费内存,支持归档。这些都是基本需求,那么再进一步或许还需要固定缓存项数量,支持队列缓存,缓存过期等。

iOS平台怎么做数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?

iOS中可以有四种持久化数据的方式: 属性列表、对象归档、SQLite3和Core Data

coredata可以使你以图形界面的方式快速的定义app的数据模型,同时在你的代码中容易获取到它。

coredata提供了基础结构去处理常用的功能,例如保存,恢复,撤销和重做,允许你在app中继续创建新的任务。

在使用coredata的时候,你不用安装额外的数据库系统,因为coredata使用内置的sqlite数据库。

coredata将你app的模型层放入到一组定义在内存中的数据对象。

coredata会 追踪这些对象的改变,同时可以根据需要做相应的改变,例如用户执行撤销命令。

当coredata在对你app数据的改变进行保存的时 候,core data会把这些数据归档,并永久性保存。

mac os x中sqlite库,它是一个轻量级功能强大的关系数据引擎,也很容易嵌入到应用程序。可以在多个平台使用,sqlite是一个轻 量级的嵌入式sql数据库编程。

与coredata框架不同的是,sqlite是使用程序式的,sql的主要的API来直接操作数据表。

Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS)。

虽然Core Dta支持SQLite作为一种存储类型, 但它不能使用任意的SQLite数据库。

Core Data在使用的过程种自己创建这个数据库。Core Data支持对一、对多的关系。

相关文章

  • 39(0)数据存储

    文件存储有四种方案:NSUserDefault,KeyChain,File,DB File :plist,Arch...

  • JQuery源码阅读0=>data同级

    dataUser存储用户的数据dataPriv 存储JQ自己的数据 0 JQuery.fn.extend.dat...

  • 周报

    1. MySQL 日期比较大小 存储格式为 2017-1-1 0:0:0, 至匹配年月日,如下匹配: 数据库中存储...

  • 在电子'0'&'1'存储

    数据恢复的念想估计要从这张很多前年的手机SD存储卡讲起。16GB的索尼SD存储卡。那个年代,手机只是有1GB的运行...

  • kafka知识要点

    kafka的特点: 1.消息持久化:通过0(1)的磁盘数据结构提供数据的持久化,kafka中可以存储数据,存储量决...

  • 高可用存储架构:双机、集群、分区

    第76篇 极客时间《从0开始学架构》课程笔记。 存储高可用方案的本质:数据冗余,即把数据复制到多个存储设备存储高可...

  • 4.数组、链表、散列表

    数据结构就是数据在内存中存储的一种方式,如果数据在内存中的存储是地址连续的,比如内存中从0到9的位置就用来存储1,...

  • Laravel 下配置 Redis 让缓存、Session 各自

    我们的目的是让缓存,也就是默认的 Redis 存储到 0 号数据库,Session 存储在 1 号数据库。 配置 ...

  • OpenCV数字图像知识

    数字图像我们的图像是存储在存储器里面 ,那么存储器存储格式归根结底不外乎0和1。再往高点也就是数据的基本类型,以0...

  • 39(一)数据库存储

    SQLite:嵌入式(终端产品)数据库(Database) 是按照数据结构来组合/存储和管理数据的仓库 关系型数据...

网友评论

      本文标题:39(0)数据存储

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