我正在尝试使用uWSGI找到最佳的并发数据库访问解决方案。
一些细节:
我正在使用python3(3.3)和sqlite3。我希望能够使用更多进程扩展我的应用程序(还有线程?我不确定 - 线程对uWSGI的确是什么......)
sqlite3内置支持并发进程使用,但不一定支持线程。
那么我应该在实现锁定的sqlite3连接对象周围写一些包装器吗?
或者让某种工作流程完成所有数据库工作会更好。如果是这种情况,我怎么能用uWSGI启动这个单独的worker,以及如何将消息传递给web worker进程?
还是有更好的解决方案吗?
最后我有一个相关的问题。我应该为每个请求创建一个数据库连接,还是应该为每个在工作人员还活着时保持打开的进程提供持久连接?</ p>
在我看来,在每个请求上创建连接可能会很昂贵,但是要确保持久连接不会导致问题。