【问题标题】:Pickle to file instead of using databasePickle 到文件而不是使用数据库
【发布时间】:2012-12-25 08:44:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: python mysql pickle


    【解决方案1】:

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

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

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

    【讨论】:

    • 完美。谢谢!正是我正在寻找的信息。
    猜你喜欢
    • 2017-10-14
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多