美文网首页
数据存储

数据存储

作者: Jorunk | 来源:发表于2018-07-10 21:49 被阅读5次
    1.如果后期需要增加数据库中的字段怎么实现,如果不适用CoreData呢?

    编写SQL语句来操作原来表中的字段

    • 增加表字段
    ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;
    
    • 删除表字段
    ALTER TABLE 表名 DROP COLUMN 字段名 字段类型;
    
    • 修改表字段
    ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名;
    
    2.SQLite数据存储怎么使用?
    • 添加SQLite动态库 ‘libsqlite3.dylib’
    • 导入头文件:#import <sqlite3.h>
    • 利用C语言函数创建\打开数据库,编写SQl语句
    3.简单描述客户端的缓存机制
    • 缓存分为:内存数据缓存、数据库缓存、文件缓存
    • 每次想获取数据的时候
      • 1.先检测内存中有无缓存
      • 2.在检测本地有无缓存(数据库\文件)
      • 3.最终发送网络请求
      • 4.将服务器放回的网络数据进行换成你(内存、数据库、文件),以便下次读取
    4.你实现过多线程的Core Data么?NSManagedObject、NSPersistentStoreCoordinator和NSManagedObjectContext中哪些需要在线程中创建或传递?你使用什么的策略来实现的?
    • NSManagedObject:实体对象(1个类对应1张表,一个对象对应表中的1条记录)
    • NSPersistentStoreCoordinator:存储器,决定你的数据存储在什么地方(SQLite\XML\其他文件)
    • NSManagedObjectContext:操作数据库
    • Core Data是对SQLite数据库的封装
    • Core Data中的NSManagedObjectContext在多线程中不安全
    • 如果想多线程访问Core Data的话,最好的方法是一个线程一个NSManagedObjectContext
    • 每一个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,则是因为NSManagedObjectContext会在使用NSPersistentStoreCoordinator前上锁
    5.Core Data数据迁移

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

    相关文章

      网友评论

          本文标题:数据存储

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