美文网首页
数据存储

数据存储

作者: 雪丹妮_66865 | 来源:发表于2017-04-25 10:57 被阅读15次

    1. 如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData?

    编写SQL语句来操作原来表中的字段
    1> 增加表字段
    ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;
    2> 删除表字段
    ALTERTABLE 表名 DROP COLUMN 字段名;
    3> 修改表字段
    ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名;

    2. SQLite数据存储怎么用?

    1> 添加SQLite动态库:libsqlite3.dylib
    2> 导入主头文件:#import <sqlite3.h>
    3> 利用C语言函数创建\打开数据库,编写SQL语句

    3. 简单描述下客户端的缓存机制?

    1. 缓存可以分为:内存数据缓存、数据库缓存、文件缓存
    2. 每次想获取数据的时候
      1> 先检测内存中有无缓存
      2> 再检测本地有无缓存(数据库\文件)
      3> 最终发送网络请求
      4> 将服务器返回的网络数据进行缓存(内存、数据库、文件),以便下次读取

    4. 你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext 和 NSManagedObject 中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?

    Person : NSManagedObject :实体对象 (1个类对应1张表,1个对象对应表中的1条记录),继承NSManagedObject 会生成相应的表
    NSPersistentStoreCoordinator :存储器,决定了你的数据存储在什么地方(SQLite\XML\其他文件)
    NSManagedObjectContext :操作数据库
    1> CoreData是对SQLite数据库的封装,性能不好,会产生冗余的
    2> CoreData中的NSManagedObjectContext在多线程中不安全
    3> 如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext
    4> 每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在使用NSPersistentStoreCoordinator前上锁。

    5. core data 数据迁移

    http://blog.csdn.net/jasonblog/article/details/17842535

    相关文章

      网友评论

          本文标题:数据存储

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