当前位置:  开发笔记 > 编程语言 > 正文

Python,SQLite和线程

如何解决《Python,SQLite和线程》经验,为你挑选了1个好方法。

我正在开发一个应用程序,它将通过HTTP从几个地方收集数据,在本地缓存数据,然后通过HTTP提供服务.

所以我看着以下内容.我的应用程序将首先创建多个线程,这些线程将以指定的时间间隔收集数据,并将该数据本地缓存到SQLite数据库中.

然后在主线程中启动一个CherryPy应用程序,它将查询该SQLite数据库并提供数据.

我的问题是:如何从我的线程和CherryPy应用程序处理与SQLite数据库的连接?

如果我每个线程连接到数据库,我还能够创建/使用内存数据库吗?



1> Ali Afshar..:

简短回答:不要在线程应用程序中使用Sqlite3.

Sqlite3数据库在大小方面可以很好地扩展,但对于并发而言非常可靠.您将受到"数据库已锁定"错误的困扰.

如果这样做,您将需要每个线程连接,并且您必须确保这些连接自行清理.传统上这是使用线程本地会话来处理的,并且使用SQLAlchemy的ScopedSession执行得相当好(例如).如果我是你,我会使用它,即使你没有使用SQLAlchemy ORM功能.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有