pymongo中的Connection(ip,port)与MongoClient(ip,port)均是用来连接mongodb的。但是,随着用户量增加,即便在两者的用户量仍保持一致的情况下,两者的效率差距也会越来越大,效率比对如下表。
pymongo效率测试结果.png
那么,Connection和MongoClient这两者的区别到底在哪里呢?
# MongoClient的safe参数默认True
conn = pymongo.MongoClient('127.0.0.1',5000,safe=True)
######################################################
# Connection的safe参数默认False
conn = pymongo.Connection('127.0.0.1',5000,safe=False)
区别在于,Connection和MongoClient的关键字参数safe的默认值不一样(如上),safe参数决定操作是“瞬时完成(非安全操作)”还是“安全操作”,connection()默认是safe=False,即瞬时完成,不等服务器回应;而MongoClient()默认是safe=True,即安全操作,等服务器确认后才继续下一步操作。
因此,Python用Connection()连接mongodb时,修改操作速度非常快,而用MongoClient()建立的连接,操作速度则会慢很多。
网友评论