ios realm移动端数据库怎么看

ios realm移动端数据库怎么看,第1张

1、首先在 SQL Server 2008中选择单击Microsoft SQL Server 2008 Management Studio,会出现一个窗口。2、在服务器名称中选择本机的服务器名字。然后单击【连接】按钮。就进入Microsoft SQL Server 2008 Management Studio。3、右键单击【数据库】,选择【新建数据库】,会出来一个窗口,在这个窗口里可以输入你要建的数据库的名称,同时也可以修改数据库的文件类型。4、数据库的名称和类型都弄好后,点击下方的【确定】 按钮。数据库就建立了。5、要是想删除自己不想要的数据库也很简单。鼠标右键点击自己不想要的数据库,然后选择【删除】 ,那么该数据库就删除了。

首先说说优点:

API简单,光速上手(然后光速踩坑,APP狂闪不止)。这个确实是小团队福音,不需要学习曲线陡峭的CoreData,甚至不用写sql,大家简单阅读下文档,就可以在实际项目中开用了。升级、迁移等都有非常成熟的接口。

性能优秀。简单看过原理,相比于传统数据库 链接 - 查询 - 命中 - 内存拷贝 - 对象序列化 的复杂过程,Realm采用基于内存映射的Zero-Copy技术,速度快一个数量级。而且内部采用了类似git的对象版本管理机制,并发的性能和安全性也不错。

响应式。Realm的查询结果是随数据库变化实时更新的(要求对象在Run Loop线程中),配合KVO或者Realm自带的ObjectNotification,可以轻松构建及时反映数据变化的响应式UI,这点和目前主流的响应式框架(ReactNative,ReactiveCocoa)应该是天作之和了。但是要求使用者改变思路,不然会出现很多诡异的bug。

ORM。虽然Realm自己号称是『为移动开发者定制的全功能数据库』,但是其中确实包含ORM的很多特性,不用手动写中间层了,取出来就是新鲜活泼的对象,everyone is happy。

再说说坑:

无法多线程共享数据库对象。这是Realm设计的要求,跨线程访问的话,只能自己重新query出来。前面说的上手快,踩坑也快,就是因为这个:异步的Block、网络接口的回调、从不同线程发出的通知都会触发这个访问异常。最关键的还是思维方式的转换,Realm其实是要求尽量减少object的传递,虽然是ORM,但毕竟还是是个数据库,该query的地方,还是不要偷懒。

数据库对象管理。这里有很多坑,比如访问一个被删除的对象时,会直接异常;数据库被close后,所有查询出的object都无法使用;修改被管理对象属性,必须在指定block或者数据库事物集中完成,相当于入库,但是一般的对象又没有关系(两者看起来没有任何区别)等等等等。

对业务代码的侵蚀严重。所有的的数据库对象要继承指定的类(没法继承自己的基类了),增删改查,对查询结果处理都有特殊的语法要求,这使得在旧项目中引入Realm或者放弃使用将Realm从项目中剥离都面临很大的成本。

静态库大,还在不断更新。引入这样一个三方静态库会增加App体积,目测大了1M至少了。另外Realm目前还不是很稳定,之前测试ObjectNotification功能,居然会出现偶尔拿不到回调的bug,相比于成熟的sqlite方案,还不是很放心。

总体来说,Realm还是一个值得尝试的存储方案,个人非常看好 Realm + Swift + reactiveCocoa或者Realm + ReactNative的组合,总感觉和Objective-C八字不合。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10085059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存