什么时候适用于使用数据库,在Python中

前端之家收集整理的这篇文章主要介绍了什么时候适用于使用数据库,在Python中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为游戏添加一些附加组件,它需要在播放器上存储信息:

>用户名
> ip-address
>游戏中的位置
>来自该IP或来自该用户名的备用IP地址的备用用户名的列表

之前我读过一篇文章说,除非我正在存储大量不能在ram中保存的信息,否则我不应该使用数据库.所以我尝试在python中使用shelve模块,但我不知道这是否是一个好主意.

你什么时候会认为使用数据库是一个好主意,如果更好地以另一种方式存储信息,还有一些其他方法可以存储除数据库和平面文件数据库之外的信息.

解决方法

最重要的是,除非您特别需要性能或高可靠性,否则可以做任何事情,使您的代码最简单/最简单.

如果您的数据结构非常(您知道sql或愿意学习),那么使用像sqlite3这样的数据库可能是合适的. (您应该忽略关于数据库大小和RAM的注释:有时数据库适用于甚至非常小的数据集,因为数据的结构如何).

如果数据相对简单,并且不需要数据库(通常)具有的可靠性,然后将其存储在其中一个内置数据类型中,而程序运行则可能很好.

如果您希望存储在磁盘上的数据具有人性化的可读性(可编辑性,但需要付出努力),那么像JSON这样的格式(有内置的json模块)是很好的,因为基本的Python对象没有任何努力.如果数据不是这么简单,那么YAML本质上是一个扩展版本的JSON(PyYAML是非常好的).同样的,您可以使用CSV文件(csv模块),尽管这不及JSON或YAML,或只是一种自定义的文本格式(但是这是非常大的努力来获得错误处理等等) .

最后,如果您的数据包含更高级的对象(例如递归字典或复杂的自定义数据类型),那么使用内置的二进制序列化技术(pickle,shelve等)可能是适当的,但是YAML可以处理这些事情(包括递归数据结构).

一般要点:

>纯文本格式很好,因为它们允许调整值很容易调试/测试很容易>二进制格式是很好的,因为它们的意思是,值不能被调整没有一点额外的努力(这不是说,他们不能调整),而文件大小较小(可能不相关)

原文链接:https://www.f2er.com/mssql/82173.html

猜你在找的MsSQL相关文章