电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

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

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

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

我們來測試一下效率,使用傳統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)

運行一下,發現用了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內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 南昌旅行社_南昌国际旅行社_南昌国旅在线 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | ORP控制器_ORP电极价格-上优泰百科 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 模型公司_模型制作_沙盘模型报价-中国模型网| 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | IPO咨询公司-IPO上市服务-细分市场研究-龙马咨询 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 旋转/数显粘度计-运动粘度测定仪-上海平轩科学仪器 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 长城人品牌官网 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 |