`
san_yun
  • 浏览: 2596995 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mongoDB gevent

 
阅读更多

mongoDB是支持gevent的,详见:http://api.mongodb.org/python/current/examples/gevent.html

 

PyMongo supports Gevent . Simply call Gevent’s monkey.patch_all() before loading any other modules:

>>> # You must call patch_all() *before* importing any other modules
>>> from gevent import monkey; monkey.patch_all()
>>> from pymongo import MongoClient
>>> connection = MongoClient()
 

PyMongo’s Gevent support means that start_request() ensures the current greenlet (not merely the current thread) uses the same socket for all operations until end_request() is called. See the requests documentation for details on requests in PyMongo.

Using Gevent With Threads

If you need to use standard Python threads in the same process as Gevent and greenlets, run monkey.patch_socket() , rather than monkey.patch_all() , and create a MongoClient with use_greenlets=True . The MongoClient will use a special greenlet-aware connection pool.

>>> from gevent import monkey; monkey.patch_socket()
>>> from pymongo import MongoClient
>>> connection = MongoClient(use_greenlets=True)
 

An instance of MongoReplicaSetClient created with use_greenlets=True will also use a greenlet-aware pool. Additionally, it will use a background greenlet instead of a background thread to monitor the state of the replica set.

>>> from gevent import monkey; monkey.patch_socket()
>>> from pymongo.mongo_replica_set_client import MongoReplicaSetClient
>>> rsc = MongoReplicaSetClient(
...     'mongodb://localhost:27017,localhost:27018,localhost:27019',
...     replicaSet='repl0', use_greenlets=True)
 

Setting use_greenlets is unnecessary under normal circumstances; simply call patch_all to use Gevent with PyMongo.

分享到:
评论

相关推荐

    py-mongo-sync:MongoDB的基于Oplog的同步工具。 它用于将数据从一个副本集同步到另一个独立副本集强化群集

    py-mongo-sync 它可用于将数据从一个副本集同步到另一个MongoDB部署(独立,副本集或分片... Gevent 托姆 毫米3 pymongo 始终使用pymongo 3.5.1。 请参阅 3.6版增加了对MongoDB 3.6的支持,放弃了对CPython 3.3

    12.Gevent的猴子补丁.zip

    网络爬虫基础 网络爬虫的概述和原理 ...数据库的使用和操作(如MySQL、MongoDB等) 数据存储格式的选择和优化 实际案例分析 应用所学知识解决真实世界中的爬虫和IO问题 爬虫和IO项目开发流程与实践经验分享

    11.Gevent中的Greenlet.zip

    网络爬虫基础 网络爬虫的概述和原理 ...数据库的使用和操作(如MySQL、MongoDB等) 数据存储格式的选择和优化 实际案例分析 应用所学知识解决真实世界中的爬虫和IO问题 爬虫和IO项目开发流程与实践经验分享

    13.Gevent的协程池.zip

    网络爬虫基础 网络爬虫的概述和原理 ...数据库的使用和操作(如MySQL、MongoDB等) 数据存储格式的选择和优化 实际案例分析 应用所学知识解决真实世界中的爬虫和IO问题 爬虫和IO项目开发流程与实践经验分享

    tornado-mongodb-performance-test:Tornado中的MongoDB驱动程序性能测试

    Tornado MongoDB Performance Test ...pip install pymongo==2.8.0 tornado mongoengine motor gevent virtualenv pymongo3.0 cd pymongo3.0 source bin/activate pip install pymongo==3.0.6 tornado mongoengin

    bson:不依赖MongoDB的适用于Python的独立BSON编解码器

    布森 不依赖MongoDB的Python独立BSON编解码器。 bson ObjectId实现是从PyMongo项目派生的,该项目已获得2.0版Apache许可。安装 ~ $ python setup.py install 或可以使用点子~ $ pip install bson快速开始 >> > ...

    hotelsystem:酒店预订系统

    安装库如下:pip安装烧瓶pymongo fastapi uvicorn aiofiles gevent libscrc qrcode请求bcrypt单击Pillow 在文件夹“ Bin”中设置config.json。 将文件JSON上载到MongoDB。文件数据库位于db.rar中。 运行文件...

    leetcode下载-learn-git:少即是多

    gevent/eventlet WEB后端开发技术: 协议、架构、存储、缓存、安全 Bootstrap MySQL MongoDB Redis* Spark Hive Hadoop Storm 大数据开发 分布式计算平台 Scrapy Linux 下开发 NginX tomcat Rabbitmq WSGI 缓存 消息...

    Mastering-Flask:Packt发布的Mastering Flask代码存储库

    Flask OAuth 7 MongoDB,烧瓶MongoEngine 8 烧瓶安宁,烧瓶安宁9 RabbitMQ,芹菜10 Flask缓存,Flask调试工具栏,Flask资产,管理和邮件13 龙卷风,gevent,Apache,Nginx,Fabric相关的烧瓶书籍和视频

    Python示例-从基础到高手PDF

    第 15 章 Mongodb 千万级数据在 python 下的综合压力测试及应用探讨 第 16 章 通过 memcached 实现领号排队功能及 python 队列实例. 第 17 章 python 之利用 PIL 库实现页面的图片验证码及缩略图 第 18 章 如何将...

    feusal:匿名在线投票系统

    引人注目的 ...语境 它是什么? ... 它是由圣地亚哥校园区的UTFSM学生联合会的Facebook小组中的一个讨论产生的。 为什么?... gevent 1.0.2 Flask-OAuthlib 0.9.1 MongoDB 3.0.4 前端 Knockout.js jQuery

    openews:实验性NLP(自然语言处理)项目旨在捆绑各种分散的更新

    MongoDB-数据库层。 Redis-对刮板作业进行排队。 Flask-REST / Web服务。 概念 报废者:新的收藏家。 DataProcessor :处理由废料收集的原始数据并对其进行结构化(这是NLP的一部分)。 职位:排队的刮板工人。 ...

Global site tag (gtag.js) - Google Analytics