- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 this book 中阅读有关 GDBM 的信息|他们只给出了可以存储的数据结构的简单示例。例如
$dbm{'key'} = "value";
背景
我想在数据库中保存许多小文本文件,仅供本地使用,并使用嵌套的哈希和数组来表示文件路径。它不一定是 GDBM,但它似乎是 Perl 的唯一键/值数据库库。
问题
我可以在 GDBM 中存储任何哈希,无论它包含许多嵌套哈希和数组吗?
GDBM 是否提供任何搜索功能,或者我需要用 Perl 实现自己的搜索功能?
最佳答案
DBM 数据库根本不支持数组。它们本质上与 Perl 散列相同,只是项目的值只能是一个简单的字符串,不能是数字或引用。 DBM 数据库中每个数据项的键和值都是简单的字节序列。也就是说,API 通过 char
指针和 int
大小来表示它们。
在该约束下,您可以随心所欲地使用数据库,但请记住,与 SQL 数据库不同,每个键都必须是唯一的。
您可以通过将一次访问获取的数据用作下一次访问的键来模拟嵌套哈希,但是请记住对唯一键的要求,这远非理想。
或者,获取的值可以是您可以继续进一步查询的另一个 DBM 数据库的名称。
最后一个选项是将所有键连接成一个值,这样
$dbm{aa}{bb}{cc}
实际上会像这样实现
$dbm{aa_bb_cc}
关于database - 在 GDBM 中存储任何哈希,我可以在其中搜索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500507/
我们有一个GDBM键值数据库作为负载平衡的面向 Web 的应用程序的后端,该应用程序以 C++ 实现。应用程序提供的数据变得非常庞大,因此我们的管理员已将 GDBM 文件从“本地”存储(在网络服务器上
是否有任何特定函数或任何方式可以计算 GDBM 文件中的行数?否则,我想检索 GDBM 中的所有行> 一次文件(我能够使用 gdbm_fetch() 检索键值对,但一次只能检索一个。 最佳答案 我得到
我实现了以下 GBDM 示例: #include #include #include #include #include struct record { int a; int
GDBM看起来很有趣,一种持久性哈希或键值存储。但是示例代码没有运行: require 'gdbm' 导致此错误: cannot load such file -- gdbm (LoadError)
在 this book 中阅读有关 GDBM 的信息|他们只给出了可以存储的数据结构的简单示例。例如 $dbm{'key'} = "value"; 背景 我想在数据库中保存许多小文本文件,仅供本地使用
我正在尝试使用 C 语言学习 gnu gdbm 编程,但由于 gdbm 教程、书籍等的缺乏而无法继续。所以我唯一需要遵循的是 w3 上可用的几个简单的 gdbm c api 代码。我在两个单独的 .c
我有一个程序可以使用 GDBM 或 Kyoto Cabinet 作为 DBM 库。我已经编写了一些函数来抽象出两者之间的区别,并且我传递空指针来代替数据库文件(GDBM_FILE 对于 GDBM 和
我有一个 Python 程序,我试图在其中使用 this rhyming dictionary查找韵律。 部分字典库设置由 C 程序创建三个 gdbm .db 文件。执行此操作的代码是公开可用的 he
我正在研究基于文件的键值数据库,例如 GDBM,我看不出与使用配置文件相比有任何真正的优势。这两种技术都允许您将键和值存储在文件中。 GDBM 的性能优势,GDBM 是否更快地解析文件? 最佳答案 g
我在 anaconda 环境中使用 Python 3.6。我用 安装了 GDBM conda install gdbm 安装很顺利,但是我无法使用 Python 中的 dbm.gnu: ModuleN
我习惯了 macport,最近得到了一个新的 mac book pro 10.8.4,我切换了 brew 并尝试安装 python 但我收到以下错误: brew install python --un
嘿,在对我尝试使用的 bashrc 进行了一些更改之后 source ~/.bashrc 但出现如下错误 baaz@FireStorm:~$ source ~/.bashrc Traceback (m
按照 https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli
我是一名优秀的程序员,十分优秀!