美文网首页
iOS-持久化存储技术选型

iOS-持久化存储技术选型

作者: TifaTsubasa | 来源:发表于2016-02-25 15:05 被阅读299次

iOS有一道经典的面试题:数据的持久化存储有哪些方式?
标准答案:常见的持久化存储方法有NSUserDefaults、plist、归档存文件、sqlite、CoreData已经新兴的Realm
这样的答案对付面试官应该是够了,而实际运用中,你真的能搞清这些技术面向的场景么?


技术分类

  • 偏好设置
    偏好设置是最简单的归档方式,适合存储简单的配置条目。使用NSUserDefaults单例就可以存储一些可序列化的类,通过keyValue的方式写入和读取,偏好设置实际上是一个plist文件
  • plist文件、归档
    plist和归档都是将对象整体保存到文件内
    iOS开发里,plist随处可见,它比较像是json的表格可视化文件,能够存储一些可序列化的类型,如下
NSArray;
NSMutableArray;
NSDictionary;
NSMutableDictionary;
NSData;
NSMutableData;
NSString;
NSMutableString;
NSNumber;
NSDate;

归档能够将遵守NSCoding协议的对象整体打包保存到文件里,从文件里解档读出的对象也可直接使用

  • sqlite、CoreData、Realm
    这三类都属于数据库存储,除了能够将数据逐条保存下来,最大的优势就是能够查询。当然,这三类数据库都有着自己的学习曲线,每个都需要一定的时间去掌握

需求及技术分析

技术应当紧紧围绕需求,根据不同的用途选择最匹配的方式,很重要!!!(这波给几分🐵)
简单举几例,来说明在实际项目中,各存储方式的应用场景

  • 偏好设置
    用户的设置:例如字体大小、音乐播放的码率之类的简单数据,APP是否是第一次登陆、版本号等程序需要的参数
  • plist文件、归档
    比如某商品推荐APP,需求希望缓存10个商品,避免网络加载时显示空白。最简便的方法就是将10个商品的模型放进数组,一次性打包成data保存到文件里,需要的时候直接解档就可以使用
  • sqlite、CoreData、Realm
    数据库最大的存储优势其实就在于查询,能想到最需要数据库本地存储,就是TODO List类的APP,需要存储各种事务安排,并且能够分类排序查询

真·干货 ------ TTLite

在实际的iOS开发中,复杂的本地存储场景是非常少的。很多时候,业务逻辑根本还没有到达需要花大量时间去研究数据库的程度,那么什么样的思路能够满足常见的存储要求呢?
轻查询、重存储、易学习且使用方便

介绍

TTLite基于SQLite存储,使用FDMB提供的事务进行数据操作,封装了大量的sql语句,将建表、插入、删除、查询等操作封装成更加面对对象的方法,可以直接操作模型对象,整存整取,方便使用


数据库是软件开发里非常重要的一环,在时间允许的情况下,认真研究一门数据库还是非常重要的 .


如果你也喜爱游戏,欢迎支持我的APP Up 游戏专辑

相关文章

  • iOS-持久化存储技术选型

    iOS有一道经典的面试题:数据的持久化存储有哪些方式?标准答案:常见的持久化存储方法有NSUserDefaults...

  • 第六章 数据存储全方案,详解持久化技术

    6.1持久化技术简介 持久化是将内存中的数据存储在存储设备的过程.Android提供文件存储,SharedPref...

  • JDBC

    JDBC 持久化和持久化技术 持久化技术概念 把数据保存到可掉电式的存储设备中,持久化的实现过程大多是通过各种关系...

  • iOS数据持久化设计探讨(NSCache,PINCache,YY

    一、目标 了解移动端的数据持久化方式和对应的使用场景,提供相关技术选型做技术储备。 二、数据持久化的目的 快速展示...

  • 持久化存储技术

    最近在看郭霖老师的《第一行代码》这本书,讲得甚是不错,是最近一年以来看得最舒心的一本书。今天打算写一点学习的感悟。...

  • 20170104第一行代码第六章数据存储

    持久化技术:文件存储、SharedPreference存储和数据库存储。 一、文件存储 不对存储内容进行任何格式化...

  • 第一行代码(六)

    第六章内容主讲数据持久化技术 一、数据持久化技术简介   数据持久化技术就是将瞬时数据(存储在内存中,有可能会因为...

  • Android中的Content Provider

    在Android技术持久化技术中,包含着文件存储,SharedPreferences存储以及SQLite,在这些持...

  • iOS-数据持久化存储

    一. 沙盒 每个iOS应用都有⾃己的应⽤沙盒(应用沙盒就是文件系统目录)与其他文件系统隔离,应⽤必须待在⾃己的沙盒...

  • ActiveMQ-持久化存储

    activemq持久化存储:可以切换不同的存储技术(默认是kahadb,leveldb,mysql,oracle)...

网友评论

      本文标题:iOS-持久化存储技术选型

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