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

标签 android key-value-store berkeley-db-je

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

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

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

最佳答案

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

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

我一直在使用它们,尤其是用于图像缓存,到目前为止它们的性能都非常好。

关于android - android 上持久键值存储的最佳机制是什么(具有大值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859818/

相关文章:

java - Berkeley DB(Java 版)在应用程序运行之间不持久

java - Android从SD卡上读取文件

memcached - 是否存在可以将更改通知外部实体的内存中键/值存储?

optimization - 向 BerkeleyDB-JE 插入数据越来越慢

database - 在键值存储中管理键的好方法是什么?

java - 无法使用 Scala 从 Cassandra DB 的原始数据类型映射读取数据

Android Room 将 Null 作为 Non-Null 类型返回

java - Android - Universal ImageLoader错误必须在使用前进行配置初始化

android - 如何在布局的一角放置徽章图标