1.什么是持久化?

本人找了好多文章都没有找到满意的答案,最后是从孙卫琴写的《精通Hibernate:Java对象持久化技术详解》中,看到如下的解释,感觉还是比较完整的。摘抄如下:

狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。

● 保存:把域对象永久保存到数据库。

● 更新:更新数据库中域对象的状态。

● 删除:从数据库中删除一个域对象。

● 加载:根据特定的OID,把一个域对象从数据库加载到内存。

● 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。

2.为什么要持久化?

持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。

● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

● 代码重用性高,能够完成大部分数据库操作;

● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

文件

归档(NSKeyedArchiver)

属性列表(NSUserDefaults)

数据库(SQLite、CoreData、第三方类库)

转载于:https://www.cnblogs.com/henusyj-1314/p/9928572.html

iOS 之持久化存储 plist、NSUserDefaults、NSKeyedArchiver、数据库相关推荐

  1. 【iOS数据持久化】Plist使用

    iOS数据持久化Plist使用 iOS 端数据持久化就是把数据保存在本地,常用于基本信息储存,应用配置,应用支持数据源,网络请求缓存等.主要有如下几种方式: 方式 介绍 特点 Plist文件 属性列表 ...

  2. (三十九)数据的持久化存储-plist实现(XML属性表)

    iOS应用数据存储的常用方式: 归档:用某种格式保存数据. XML属性列表(plist)归档(持久化) Preference 偏好设置 NSKeyedArchiver归档 SQLite3 数据库 效率 ...

  3. iOS中持久化存储SQLite(一)

    在iOS中做持久化存储有多种方案,其中包括plist, preference, sqlite, core data,其中: (1)plist, preference适合小型数据存储,因为每次存储前都必 ...

  4. iOS开发 数据存储之NSUserDefaults

    NSUserDefaults:用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在.NSUserDefaults可以存储的数据类型包括:NSData.NSString. ...

  5. 爬虫数据持久化存储——写入文件

    这里写目录标题 爬虫数据持久化存储--写入文件 open方法 文件的读取及写入 爬虫数据持久化存储--csv文件 爬虫数据处理:操作数据库模块--pymysql pymysql介绍: pymysql安 ...

  6. iOS的四种持久化存储

    什么是数据持久化存储? 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据. 什么是沙盒机制? iOS程序默认情况下只能访问程序自己的目录,这个目录被称为&qu ...

  7. iOS开发笔记(十七):持久化方案之 NSUserDefaults

    对于应用来说,每个用户都有自己的独特偏好设置,而好的应用会让用户根据喜好选择合适的使用方式,把这些偏好记录在应用包的 plist 文件中,通过 NSUserDefaults 类来访问,这是 NSUse ...

  8. Linux实战教学笔记45:NoSQL数据库之redis持久化存储(一)

    第1章 redis存储系统 1.1 redis概述 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的Mem ...

  9. 无星的RN学习之旅(四)——通信、持久化存储、iOS打包

    说说最近项目的一些感想吧. 一.RN的创意 RN其实我觉得是一个很有创意的想法.不知道各位写RN项目的时候,有没有打开Xcode看过app的层级关系,我发现RN的这个想法,真的很有创意. 作为一名原生 ...

最新文章

  1. uni-app h5页面左上角出现“取消“字眼解决办法
  2. python 语音websocket_Python 牺牲性能以提升程序员的工作效率
  3. Android后门GhostCtrl,完美控制设备任意权限并窃取用户数据
  4. 如何在Linux中查看所有正在运行的进程
  5. C语言,期末复习之编写程序返回三个整数中的中间数
  6. LCD1602液晶显示
  7. CPU 架构 —— ARM 架构
  8. 会说话的狗狗本电脑版_一看就会用!Fotor 电脑版 图片后期处理详解系列教程 第一节...
  9. 数据库备份与还原的过程中介质集有2个介质簇,但只提供了1个。必须提供所有成员...
  10. 《信号与线性系统分析》学习心得
  11. 深圳哪个区最富,哪个区最穷?最新GDP排名出炉,没想到第二名是
  12. 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。
  13. android菜鸡提升之路---实现一个积木拼图游戏
  14. 玄铁杯第二届RISC-V应用创新大赛火热报名中
  15. ADNI数据集-数据分析11.17
  16. 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
  17. Mac 硬件驱动(.kext)安装方法
  18. mysql导入txt_mysql怎么导入txt文件?
  19. AES256-GCM-NOPADDING加密解密(java)
  20. 去噪算法 matlab,经典滤波算法去噪对比实验(Matlab实现)

热门文章

  1. 福州大学软工 1715 | K 班 - 启航
  2. 学生管理系统——基于双向循环链表
  3. linux内核模块开发
  4. 1 第一次画PCB总结
  5. PHP笔记 ---关于web应用的安全性问题
  6. 3dmax坐标系与导出fbx的坐标系
  7. Beetle在TCP通讯中使用协议分析器和自定义协议对象
  8. VMware vSphere学习笔记二
  9. oracle游标遍历的三种方式
  10. kafka+zookeeper内外网双网卡配置(针对不同网段)