在多线程中使用sqlite太恶心了

    万万没有想到sqlite模块在多线程中有问题,只能被创建sqlite连接的线程使用,其他线程根本就不能使用!否则必然报错误,太恶心了。现在看来唯一的办法是在每个线程中都创建一个连接,每个线程自己操作数据库。这个每个线程中的连接,可以用连接池的方式事先创建好,也可以每次操作的时候重新建立。
  由此看来,当在python中要使用嵌入式数据库就一定要考虑并发、多线程的情况,这方面sqlite实在是不怎么样。那剩下的选择就是要么使用没有sql语言支持的bsddb模块,要么使用metakit 或者firebird 。
  metakit貌似是个不错的数据库模块,性能也很好,但我没有怎么使用过。
  firebird是个很好的数据库,以前borland的interbase开源后的产品,勉强能和mysql, postgresql一起称为开源的三大数据库。firebird也支持嵌入,并且可以很容易的把数据从嵌入转到数据库服务器的模式。python使用firebird的模块叫kinterbasdb,在sourceforge能找到。这个应该不错。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值