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