【问题标题】:Are there local key-value store DBs (unlike redis) that can run on iOS?是否有可以在 iOS 上运行的本地键值存储数据库(与 redis 不同)?
【发布时间】:2012-07-31 05:38:49
【问题描述】:

所以我有一个需要读取大量小数据的应用程序(例如处理大量客户记录的应用程序)。

通常,对于执行此类操作的服务器系统,您可以使用数据库来处理 a) 缓存最近使用的数据 b) 索引它们,以及 c) 存储它们以便从文件系统中高效检索。

现在,对于我的应用程序,我只有一个 std::map ,它将数据 id 映射到数据本身,这些数据本身非常小(比如每个 120 字节,或者接近这个值)。数据id本身只是直接映射到文件系统中。

但是,这种系统不处理数据卸载(如果内存开始耗尽)或数据的有效存储(当然,iOS 使用闪存,因此操作系统应该处理缓存),但是是的.

有没有图书馆或类似的东西可以处理这种东西?还是我必须从头开始构建自己的缓存系统?不太在意索引,只有 a) 缓存/卸载和 c) 存储以进行有效检索。我对将数千(或可能数十万)文件存储到文件系统上感到谨慎。

【问题讨论】:

    标签: c++ caching key-value-store


    【解决方案1】:

    SQLite可以在iOS中使用或者使用CoreData,在设备上已经可以使用了

    【讨论】:

      【解决方案2】:

      为什么不信任属性列表文件和 NSDictionary?他们正是为此目的。

      【讨论】:

      • 如果 NSDictionary 开始消耗太多内存,它会自动卸载数据吗?
      • @kamziro 不,但是您有出色的 didReceiveMemoryWarning 方法,您应该在其中发布您的字典。
      • 您需要一种比 NSUserDefaults 更好的存储方式,因为它无法追加等。
      猜你喜欢
      • 1970-01-01
      • 2023-01-30
      • 2016-03-03
      • 2018-06-15
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      相关资源
      最近更新 更多