使用
TorMySQL
相反
self.pool = tormysql.ConnectionPool(
max_connections=256,
wait_connection_timeout=5,
idle_seconds=7200,
host=<host>,
db=<database>,
user=<user>,
passwd=<password>,
cursorclass=tormysql.cursor.DictCursor,
autocommit=True,
use_unicode=True,
charset="utf8",
**kwargs
)
connection = yield self.pool.Connection()
...
# this actually will not close the connection, but put back into pool
connection.close()
你可以偷这个
gist
. 它将为您处理游泳池。有了它,您可以:
db.query("SELECT ..");
对于原子操作,或者从池中获取连接以获取更复杂的内容:
with (yield db.acquire(auto_commit=False)) as db:
row = yield db.get("SELECT ... FOR UPDATE");
...
yield db.execute("UPDATE ...");
yield db.commit()