在生產(chǎn)環(huán)境訪問MySQL數(shù)據(jù)庫推薦使用aiomysql,aiomysql是基于asyncio框架實現(xiàn)的一個異步訪問MySQL數(shù)據(jù)庫的Python擴(kuò)展庫。python3版本的tornado同樣是使用asyncio框架實現(xiàn)的異步化,因此能夠與Tornado完美配合使用。在項目實測中,在同等復(fù)雜度的情況下,采用aiomysql作為數(shù)據(jù)庫訪問引擎后,系統(tǒng)并發(fā)能力至少提升2倍以上,是一個非常優(yōu)秀的MySQL異步訪問庫。
下面我們來簡單講述下如何使用aiomsyql。
安裝aiomysql通過命令行執(zhí)行如下命令安裝aiomysql:
pip3 install aiomysql
aiomysql使用示例1. 建立數(shù)據(jù)庫連接池
2. 查詢數(shù)據(jù)庫表記錄
#查詢數(shù)據(jù)記錄,查詢表table1的所有記錄
await query("select * from table1")
3. 執(zhí)行數(shù)據(jù)庫表操作
#向表table1中插入一條記錄
await execute_sql("insert into table1(id, val) values(%s, %s)", ("1", "AAB"))
#修改表table1中id為1的數(shù)據(jù)的值
await execute_sql("update table1 set val = %s where id = %s", ("BBA", "1"))
#刪除表table1中id為1的數(shù)據(jù)記錄
await execute_sql("delete from table1 where id = %s", ("1"))
總結(jié)根據(jù)上述介紹,aiomysql是一個支持異步訪問MySQL數(shù)據(jù)庫的Python擴(kuò)展庫,數(shù)據(jù)庫增、刪、改、查操作使用簡單方便,執(zhí)行效率高,可以完全發(fā)揮Tornado框架的異步特性,提升系統(tǒng)并發(fā)能力,完全滿足生產(chǎn)環(huán)境使用要求。