SQLite 对这个目的有用吗?
Is SQLite useful for THIS purpose?
我在 Python 中编写了一个使用请求的多线程机器人。
我想同时读取输出并将其写入文件。你可以把它想象成一个无限循环。
通过研究我发现您可以为其他线程锁定和解锁文件。但它似乎不适用于 Windows,例如fcntl
模块。
所以我正在寻找替代方案。我从未创建过数据库,所以我想知道 SQLite 是否适合我的目的?我可以在不丢失数据的情况下同时读取和写入内容吗? :)
虽然问题可能有点模糊,但我还是尽量回答一下。
因为 SQLite 是一个 事务型数据库,它符合 ACID原则:
- 原子性
- 一致性
- 隔离
- 耐用性
我看不出它在您的用例中不起作用的原因。
您应该仔细阅读上述原则,因为有大量资源可供阅读,我不会在这里尝试重新制定定义,而是提供相应的 URL。
https://en.m.wikipedia.org/wiki/ACID
https://www.sqlite.org/transactional.html
我在 Python 中编写了一个使用请求的多线程机器人。
我想同时读取输出并将其写入文件。你可以把它想象成一个无限循环。
通过研究我发现您可以为其他线程锁定和解锁文件。但它似乎不适用于 Windows,例如fcntl
模块。
所以我正在寻找替代方案。我从未创建过数据库,所以我想知道 SQLite 是否适合我的目的?我可以在不丢失数据的情况下同时读取和写入内容吗? :)
虽然问题可能有点模糊,但我还是尽量回答一下。
因为 SQLite 是一个 事务型数据库,它符合 ACID原则:
- 原子性
- 一致性
- 隔离
- 耐用性
我看不出它在您的用例中不起作用的原因。
您应该仔细阅读上述原则,因为有大量资源可供阅读,我不会在这里尝试重新制定定义,而是提供相应的 URL。
https://en.m.wikipedia.org/wiki/ACID https://www.sqlite.org/transactional.html