在我的应用程序中,我需要在memroy和磁盘中存储一些简单的数据.在我的情况下,真正的数据库将是过度的,所以我需要更轻的数据库来处理简单的数据持久性要求.我自己做了一些谷歌搜索,发现了一些有趣的东西,如DBM和DBI CVS等,但由于有太多选项,所以我很难做出实际选择,所以我想在这里问你这个"最佳实践",如perl中的轻量级数据持久解决方案.
dao*_*oad 15
你有几个选择:
Storable是一个核心模块,效率很高.这与可移植性存在一些问题,例如使用旧版Storable的人可能无法读取您的数据.此外,创建和检索该数据的系统的字节顺序非常重要.网络订单stoarge选项有助于减少可移植性问题.您可以将任意嵌套数据结构存储到文件或字符串并还原它.只有Perl才支持Storable.
YAML是一种基于文本的格式,可以像存储一样工作 - 您可以在YAML文件中存储和恢复任意结构.YAML很好,因为有几种语言的YAML库.它不像Storable那样快速或节省空间.
JSON 是一种流行的数据交换格式,支持多种语言.它的优点和缺点非常类似于YAML.
DBD :: SQLite是DBI的数据库驱动程序,允许您将整个关系数据库保存在单个文件中.它功能强大,允许您使用许多针对其他数据库(如MySQL和Postgres)的持久性工具.
DBM :: Deep是一个方便且功能强大的perl模块,允许有效检索和修改大型持久数据结构的小部分.几乎和Storable一样易于使用,但在处理大型数据结构的一小部分时效率更高.
更新:我意识到我应该提到我已经使用了所有这些模块,并且根据您的特定需求,它们中的任何一个都可能是"正确的选择".
您可能想尝试Tie :: Storable.然后它就像解决哈希一样简单.
如果您不想存储大量数据,并且可以在程序启动时一次性加载所有数据,那么可能就是这样.
如果你正在寻找更复杂但重量更轻的东西,很多人(包括我自己)都会发誓SQLite.
| 归档时间: |
|
| 查看次数: |
3414 次 |
| 最近记录: |