c++ - 是否有可以在 iOS 上运行的本地键值存储数据库(与 Redis 不同)?

标签 c++ caching key-value-store

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

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

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

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

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

最佳答案

SQLite可以在 iOS 中使用或使用 CoreData已在设备上可用

关于c++ - 是否有可以在 iOS 上运行的本地键值存储数据库(与 Redis 不同)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733783/

相关文章:

c++ - cin.eof() 功能

performance - clflush 是否也会删除 TLB 条目?

big-o - LSM 树查找时间

xcode - (Xcode) 启用 iCloud 时权限被拒绝

c++ - 为什么双引用值在分配给 C++ 中的 float 变量时不会改变

C++:无法使用 Mini-XML 从 XML 文件加载长字符串

c++ - 为什么我收到错误 : invalid operands to binary expression after overloaded += operand?

javascript - Angular 7 Service Worker缓存音频文件导致Safari出现范围 header 问题

POSIX和PCRE之间的正则表达式语法更改

database - 在使用文件哈希数据库的 Kyoto Cabinet 数据库中,如何避免文件大小增加?