据我所知,地狱,经验丰富,不可能django
为线程共享数据库连接。
我四处搜索并找到了解决此问题的两种方法:
- 直接使用相关的 DBMS 驱动程序使用直接
SQL
连接。 - 使用
sqlalchmeny
及其会话轮询的东西。
真的没有别的办法了吗?是不是可以要求django
为线程创建新连接(听起来对我来说简单而有用!)
谢谢。
据我所知,地狱,经验丰富,不可能django
为线程共享数据库连接。
我四处搜索并找到了解决此问题的两种方法:
SQL
连接。sqlalchmeny
及其会话轮询的东西。真的没有别的办法了吗?是不是可以要求django
为线程创建新连接(听起来对我来说简单而有用!)
谢谢。
DB的线程安全问题与连接无关;当两个线程尝试同时更改同一条数据时,甚至一个线程尝试写入而另一个线程尝试读取。为了防止这种情况,您只需要在您的一个线程需要对其执行某些操作时锁定该表。使用 Django 1.4+ 的一种快速简便的方法是使用select_for_update
,它将锁定表,直到您执行update
操作。