python - 如何在 Python 中存储多个用户的数据?
问题描述
我正在制作一个在 python 中运行经济类型系统的不和谐机器人。我想使用一个文本文件来存储用户数据,但我不太确定我会如何做到这一点。我的意思是,根据哪个用户执行 /balance 命令,它会搜索他们的特定数据并返回他们的余额。
解决方案
如果您的建筑需要存储用户数据,例如账户余额、用户名、账户创建日期、交易历史等。
切勿将简单的文本文件用于此类实现
您应该使用 ACID 投诉的数据库,这意味着数据库应该是:
A - 原子性:即特定操作成功完成或完全失败(在转移资金或余额的情况下,您不希望余额从转移的账户中扣除,而不是转移到收款人的账户,您也不要'不希望转账失败,但当没有从转账账户中扣除任何费用时,信用会成功存入收款人的账户)
C - 一致性:仅应将遵循规则的有效数据添加到数据库中,并维护数据库的完整性。
I - 隔离:确保每个事务都是隔离的并且不受其他事务的影响。
D - 持久性:确保一旦提交事务,即使发生后续故障,数据也会保留在系统中。
有一个符合 ACID 的优秀数据库,它是一个 NoSQL 数据库,它被称为 MongoDB。
您可以使用 MongoDB 的 Python 驱动程序连接到 Mongo 服务器。 https://www.mongodb.com/languages/python
此外,MongoDB 在您选择如何构建要存储的数据方面非常灵活!
推荐阅读
- postgresql - 如何在不停机的情况下将新模式/表添加到 Postgresql 发布(适用于所有表)?
- python - Django Allauth Facebook 集成登录失败
- javascript - 有没有办法用三元运算符切换html元素中的css类?
- conv-neural-network - 如何处理 VGGNet 训练中损失增加和验证准确率低的问题?
- django - 如何将 django-filter 与 django-select2 一起使用?
- c# - SerialDataReceived 事件未触发(Arduino 克隆的串行端口设置)
- javascript - 有 setClientBoundingRect() 吗?
- python - for 循环中的子图
- java - 使用特定的 application.properties 自动装配
- tensorflow - 提供 Tensorflow Seq2Seq 输出作为下一步的输入(推理)