3

Perl DBI模块让我可以透明地连接到许多不同类型的 SQL 数据库。非关系键值对数据库是否有等效的 Perl 模块?

例如,一个接口可以让我开始使用 BerkeleyDB(甚至只是 Perl 哈希?)但切换到 memcachedb 或 CouchDB 之类的东西,甚至是 Amazon SinmpleDB 或 Google AppEngine Datastore 提供的云数据库。

(这是 Tie::Hash 所做的吗?在这种情况下,我在哪里可以找到实现的摘要?)

4

4 回答 4

10

不确定KiokuDB是否是您想要的。它有 CouchDB、BDB (BerkeleyDB) 和 DBI 后端。

于 2009-04-26T14:01:10.243 回答
4

tie是一种“将对象类隐藏在简单变量中”的通用机制。Tie::Hash是一个方便的实用程序类来实现哈希关系。

因此,将对象绑定到散列中是访问键值对数据库的适当抽象。据我所知,没有通用的基础设施来创建此类关系,因此您应该自己创建一个工厂,以将您的项目与创建不同关系的各种方式隔离开来。

于 2009-04-26T11:43:09.590 回答
4

通常,对于每种类型的键值对存储,您都需要单独的模块。

例如:

我不确定 Google AppEngine Datastore 是否有模块 - 通常,在MetaCPAN上搜索适合您的内容。

于 2009-04-26T12:42:30.150 回答
3

CHI看起来很有前途,来自Cache::Cache的制造商。

于 2009-04-26T22:29:09.117 回答