使用Python Pickle创建网站有什么问题吗?
我一直在考虑这个想法很久了,但还没看到有人在做这件事。我有一个小网站项目,需要加载和修改一个对象。这个对象很简单,大小不会超过几千字节。与其为这么少的数据运行一个数据库,为什么不直接用 pickle
或 shelve
来保存和加载这些数据呢?我打算用像 Bottle 或 Flask 这样的微型网页框架来做这个项目。
有没有什么理由不使用这种方法来加载数据呢?这个方法只会在 Apache 启动时加载一次 pickle 文件,所以我觉得速度不会受到影响(比查询数据库要快)。
谢谢大家的建议!
3 个回答
1
除了你已经知道的并发问题之外,你还必须确保文件始终处于一致的状态。比如说,如果服务器在写文件的过程中崩溃了,那会发生什么呢?这是一个你需要考虑的情况,并且如果你选择这个方向,就需要想办法解决这个问题。
3
我不会直接把一个被“腌制”的字符串写入文件,因为这样会有很多底层的细节需要担心。你可以看看 Durus、ZODB,或者 这篇关于FriendFeed的文章,它们讲的是如何在MySQL中存储Python对象。
不过,不要忽视关系型数据库,它们开箱即用,能给你带来很多便利(即使是对于简单的项目)。