7

我正在用 python 编写一个基本的会员网络应用程序。

完全放弃数据库并简单地将python字典腌制到文件中总是不好的做法(http://docs.python.org/2/library/pickle.html)?该程序永远不必处理超过 ca。500 个成员,并且每个成员只保留几个字段,所以我不认为扩展是一个问题。由于这个应用程序可能还需要在本地运行,如果事情尽可能简单,让它在各种机器上运行会更容易。

所以选项是设置一个 mysql 数据库,或者简单地腌制到一个文件。我更喜欢第二个,但想知道这是否是一个糟糕的主意。

4

1 回答 1

12

不,如果您可以将所有数据保存在内存中,则不需要数据库,只需腌制一切都可以。

酸洗的显着缺点是它不安全,有人可以用其他东西(包括可执行代码)替换您的数据,并且它仅适用于 Python。使用数据库,您通常还会同时更新数据并写入磁盘,而您必须记住腌制数据并将其保存到磁盘。由于这需要时间,因为您一次写入所有数据,通常仅在您退出时完成,因此崩溃意味着您丢失所有更改。

但是有一个中间立场:sqlite。它是 Python 中包含的轻量级、简单的 SQL 数据库(自 Python 2.5 起),因此您无需安装任何额外的软件即可使用它。它通常是一个快速的解决方案。由于 SQLAlcehmey 支持 SQLite,这也意味着您甚至可以将 SQLAlchemy 与 SQLite 一起用作默认数据库,从而为更重要的数据库提供“升级路径”。

于 2012-12-25T08:56:06.630 回答