转载自 http://www.cnblogs.com/wendingding/p/3868893.html html
1、离线缓存ios
在项目开发中,一般都须要对数据进行离线缓存的处理,如新闻数据的离线缓存等。sql
说明:离线缓存通常都是把数据保存到项目的沙盒中。有如下几种方式数据库
(1)归档:NSCodeing、NSKeyedArchiver缓存
(2)偏好设置:NSUserDefaults数据结构
(3)Plist存储:writeToFileapp
提示:上述三种方法都有一个致命的缺点,那就是都没法存储大批量的数据,有性能的问题。ide
举例:使用归档性能
两个问题:spa
(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性所有读取,这涉及到应用的性能问题。
(2)若是有1000条数据,此时要把第1001条数据存入,那么须要把全部的数据取出来,把这条数据加上去以后,再存入。
说明:以上的三种技术不能处理大批量数据的存储,大批量数据一般使用数据库来进行存储。
2、SQLite简单介绍
1.ios中数据的存储方式
(1)Plist(NSArray\NSDictionary)
(2)Preference(偏好设置\NSUserDefaults)
(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)
(4)SQLite3
(5)Core Data
说明:
3是版本号,是SQLite的第三个版本。
core Data是对SQLite的封装,由于iOS中使用的SQLite是纯C语言的。
2.SQLite
(1)什么是SQLite?
答:SQLite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是SQLite数据库
(2)特色(优势)
答:1)它占用资源很是的低,在嵌入式设备中,可能只须要几百K的内存就够了
2)它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
(3)什么是数据库
答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
(4)数据库的分类
答:能够分为2大种类
关系型数据库(主流)和对象型数据库(直接把内存中的对象塞入到数据库,对比关系型数据库而言性能不能很好,效率不高)
(5)经常使用关系型数据库有哪些?
答:PC端:Oracle、MySQL、SQL Server、Access、DB二、Sybase
嵌入式\移动客户端:SQLite
(6)数据库是如何存储数据的?
答:数据库的存储结构和excel很像,以表(table)为单位 。表由多个字段(列、属性、column)组成,表里面的每一行数据称为记录
(7)数据库存储数据的步骤?
1)新建一张表(table)
2)添加多个字段(column,列,属性)
3)添加多行记录(row,record,每行存放多个字段对应的值)
3、Navicat
Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite)
1.Navicat的安装
(1)下载该软件后,先打开该软件
(2)把文件拖入到应用程序拷贝
(3)破解版,千万不要打开app,先打开sn.app
(4)点击patch,找到应用程序的路径,点击open.
(5)点击Generate,生成注册码
(6)点击activate,选择文件,open
(7)退出sn,打开安装文件,完成安装
2.Navicat的使用
新建一个SQLite3数据库
建立一个新的数据库
设置数据库保存的位置(新建一个文件夹):
起个名称以后,保存
设置数据库链接的名称
完成以后,双击链接数据库
注意:yangyong是链接名称,不是数据库,利用yangyong这个链接,链接了main数据库。几项依次是表、视图、索引、触发器、查询。
新建一张表,设置字段名
保存,设置表名(建议以t开头如下划线隔开,以示区分,说明这是张表)