如何使用满足条件的 Berkeley DB 获取所有对象

How to get all objects using Berkeley DB meeting a condition

我昨天才知道 Berkeley DB 及其性能。我愿意在 Java 项目中使用它。

我想知道的是,如何获取存储在我的数据库中的所有满足特定条件的对象。

例如,我存储了 Message(int id, String value, Date date) 类型的对象,我想获取最近 10 分钟的所有消息.

换句话说,这个SQL查询的等价物是什么

SELECT * FROM messages WHERE date < 2016-04-12T23:20:50.52Z

在伯克利 DB。

是否可以使用 Berkeley DB 的 API 来完成,或者我应该通过编码来完成这一切?

提前致谢。

Berkeley DB 是一个键值存储。如果你想通过标识符做比 get/set 值更复杂的事情,你将不得不做这项工作。它有一个 SQL 模块。我从未使用过它,但我不会在这个数字上投入太多筹码。

像你这样的问题很多在SQLite中得到了更好的解决,它在底层使用了类似Berkeley DB的东西,并且(当然)支持SQL。它还支持对格式正确的字符串进行日期运算。