Ruby数据库操作:从YAML到MySQL再到gdbm
1. gdbm与联系人管理的编程问题
在联系人管理的实现中,gdbm是一种针对数据库操作进行了优化的工具。它将条目分散在多个文件目录中,这意味着不需要同时读取所有条目。对于处理少量联系人或少量数据的情况,一次性加载所有数据或遍历目录查找数据,在性能上没有明显差异。但当数据量很大时,将数据拆分成多个gdbm文件可能会提高操作速度。不过,性能问题需要通过实际测试和测量来确定。
在编程实现方面,存在一个有趣的问题:联系人对象(Contact)和联系人列表对象(ContactList)之间的功能分配。例如,联系人对象本身并不知道如何连接其所有的gdbm文件来填充自身信息,而是由联系人列表通过 populate_contact 方法来处理。也可以让联系人对象自己具备填充信息的能力,然后让列表调用 contact.populate 方法。这两种方式各有优劣,功能的拆分在很大程度上是可自由裁量的,尝试不同的实现方式也没有坏处。
2. MySQL驱动的使用
在有了足够的代码来操作联系人及联系人列表后,可以进一步探索关系型数据库和Ruby可用的API。MySQL、PostgreSQL、SQLite等都有各自的数据库驱动,也可以使用DBI(Database Interface)包,它提供了一个抽象的API,可作为任何可用DBD包的前端。
2.1 问题描述
有一个包含联系人信息的YAML文件,需要将其存储到关系型数据库中。
2.2 解决方案
- 安装
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



