亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)

瀏覽:17日期:2022-07-27 09:26:26

如果使用Python做大型海量數(shù)據(jù)批量任務時,并且backend用mongodb做數(shù)據(jù)儲存時,常常面臨大量讀寫數(shù)據(jù)庫的情況。尤其是大量更新任務,由于不能批量操作,我們知道pymongo是同步任務機制,相當耗時。

如果采用多線程、多進程的方案確實有效,但編寫麻煩、消耗系統(tǒng)資源大(pymongo還不允許fork線程中共用連接)。這里主要瓶頸在于IO,使用單線程異步操作就會效果很好。

Motor是一個異步mongodb driver,支持異步讀寫mongodb。它通常用在基于Tornado的異步web服務器中。

Motor同時支持使用asyncio(Python3.4以上標準庫)作為異步模型,使用起來十分方便。

我們來測試一下效率,使用傳統(tǒng)pymongo來進行批量讀寫 mongo_test.py:

host = ’127.0.0.1’port = 27017database = ’LiePin’import timestart = time.clock()from pymongo import MongoClientconnection = MongoClient( host, port)db = connection[database]for doc in db.LiePin_Analysis1.find({}, [’_id’, ’JobTitle’, ’is_end’]): db.LiePin_Analysis1.update_one({’_id’: doc.get(’_id’)}, { ’$set’: { ’is_end’: 1 } })elapsed = (time.clock() - start)print('Time used:',elapsed)

運行一下,發(fā)現(xiàn)用了4秒左右

基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)

再使用motor以異步的形式來編寫腳本 motor_test.py

host = ’127.0.0.1’port = 27017database = ’LiePin’import timestart = time.clock()import asynciofrom motor.motor_asyncio import AsyncIOMotorClientconnection = AsyncIOMotorClient( host, port)db = connection[database]async def run(): async for doc in db.LiePin_Analysis1.find({}, [’_id’, ’JobTitle’, ’is_end’]): db.LiePin_Analysis1.update_one({’_id’: doc.get(’_id’)}, {’$set’: {’is_end’:0}})asyncio.get_event_loop().run_until_complete(run())elapsed = (time.clock() - start)print('Time used:',elapsed)

僅僅1秒左右就完成了任務

基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)

效率由此可見一斑

到此這篇關于基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)的文章就介紹到這了,更多相關python異步讀寫Mongodb內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 精品国产免费观看 | 中文字幕在线成人免费看 | 亚洲免费a| 九九热精品在线 | 日韩麻豆 | 日韩欧美毛片免费观看视频 | 国产高清区 | 欧美日韩一区二区综合 | 国内精品一区二区三区最新 | 一区二区三区精品国产欧美 | 欧美另类videosbestsex高清 | 在线视频精品视频 | 日本欧美一级aaaaa毛片 | 国产亚洲精品午夜一区 | 久久91精品综合国产首页 | 欧美另类videosbestsex视频 | 成人在线中文字幕 | 久久精品成人免费看 | 一级做a毛片免费视频 | 久久综合九色综合欧洲色 | 亚洲欧美日韩久久一区 | 波多野结衣中文在线 | 欧美成人三级大全 | 狠狠88综合久久久久综合网 | 日韩欧美成末人一区二区三区 | 日本护士一级毛片在线播放 | 在线观看一区二区三区四区 | 日韩 欧美 国产 师生 制服 | 久久久久欧美情爱精品 | 国产香蕉国产精品偷在线观看 | 欧美美女一区二区三区 | 国产成人综合高清在线观看 | www.黄色免费网站 | 日本在线加勒比 | 亚洲国产一区二区三区最新 | 国产三级在线观看免费 | 99久久精品免费看国产免费软件 | 亚洲天堂国产 | 国产在线a| 亚洲人成网国产最新在线 | 国产日韩精品一区二区在线观看 |