android上持久键值存储的最佳机制是啥(具有大值)

Posted

技术标签:

【中文标题】android上持久键值存储的最佳机制是啥(具有大值)【英文标题】:what is the best mechanism for a persistent key-value store on android (with large values)android上持久键值存储的最佳机制是什么(具有大值) 【发布时间】:2011-05-02 16:40:05 【问题描述】:

我想在值是图像位图的 android 设备上使用快速键值存储。存储应该由磁盘备份并提供一些缓存,从而最大限度地减少磁盘 IO。多线程访问是可取的,但不是必需的。

我查看了Java Berkeley DB,它似乎符合要求。还有其他性能更好的库吗?还是 Berkeley DB 在 Android 平台上表现良好?

我可以接受需要单个键值对驻留在内存中的解决方案,但存储完整的键值对集可能会超出设备内存的大小。

【问题讨论】:

【参考方案1】:

我会建议基于文件的内存缓存,它在不使设备内存过载的情况下运行良好。 不需要任何额外的东西,特别是 DB 不会是满足这些需求的最佳方式。

这里有几个库; -https://github.com/commonsguy/cwac-cache(已弃用) - https://github.com/wareninja/generic-store-for-android 附言键值存储和处理基于内存文件的优化缓存

我一直在使用它们,特别是图像缓存,到目前为止都表现得很好。

【讨论】:

以上是关于android上持久键值存储的最佳机制是啥(具有大值)的主要内容,如果未能解决你的问题,请参考以下文章

如果我不需要持久存储,那么以类似数据库的方式存储数据的最佳做法是啥? NSMutableArray?

使用键值数据库作为具有持久索引的集合

Redis持久化机制

存储具有复杂数据结构的 JSON 文件以供以后使用的最佳方法是啥?

在 Java 中存储三个属性条目集的最佳方法是啥?

在关系数据库中持久化实体顺序的最佳模式是啥?