繁体   English   中英

SQLite持久存储作为缓存

[英]SQLite Persistent Store as a cache

我有一个想法来构建自定义的持久性存储,该存储基本上可以用作缓存。 即,将从本地SQLite存储中可用的对象检索出来,将从网络中检索不可用的对象,然后放入SQLite中。

问题是如何在核心数据机制中进行连接,从而无需更改应用程序逻辑。 缓存存储需要表现得像一个适当的持久存储。 目前,我的想法是扩展SQLite持久存储。

所以问题是我应该从哪里开始? :)这是一个理智的想法还是我对Core Data的理解是完全错误的,不应在受人尊敬的应用程序中执行类似的操作? 有人做过类似的事情吗?

在您未持续连接的设备中,本地缓存当然很有价值。 应用程序在本地商店工作时响应速度也更快。

restkit(restkit.org)是您自己编码之外的一种选择。

从他们的页面:

核心数据支持。 RestKit建立在对象映射层之上,可与Apple的Core Data框架集成。 这种支持使RestKit可以将远程加载的对象直接保留回本地存储中,作为快速的本地缓存或与云定期同步的主要数据存储。 RestKit可以为您填充Core Data关联,从而允许基于自然属性的数据模型遍历。 它还在Core Data原语的基础上提供了一个不错的API,可简化配置和查询用例。

请记住,CoreData具有内置的显着性能和缓存机制。当与提取的结果控制器进行交互时,CoreData会自动对对象进行故障处理和填充,在后台执行缓存,还分批返回对象(您可以指定大小)。

如果您有一个非常特殊的场景,也许可以通过自写缓存重定向读取来提高性能。 但是对于大多数用途而言,仅使用打算自动使用的CoreData即可为您带来一些相当复杂的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM