2017-01-14 2 views
0

이것이 제대로 작동하는지 궁금합니다.플라스크의 PyMongo

을 사용하는 경우 하나의 요청에 따라 연결과 닫기가 모두 수행됩니다.

1 요청 : 연결, 가까운
2 요청 : 연결, 가까운
3 요청 : 연결, 가까운
4 요청 : 연결, 가까운
5 요청 : 연결, 가까운

모든 요청은 연결과 종료 모두를 가져옵니다.
이것은 MySQL 연결을 관리하는 방법이며 다른 많은 개발자가 이와 같이 생각합니다.

BUT .. PyMongo 모듈와 MongoDB의 사용의 경우

, 그것은 상기 좋아하지 작동한다.

1 요청 :
3 요청을 연결 :
2 요청 연결 (1 또는 2를 사용 연결) <를 = 연결하지만 이전 연결을 사용하지 마십시오
4 요청 : (1 또는 2의 사용 연결) < = 같은
5 요청 : (

이가의 app.config에서 연결을 유지하고 요청 이후에 사용합니까 < = 같은 1 또는 2를 사용 연결)?
나는 MySQL의 연결을 관리하는 것이 얼마나 어려운지 느낀다.
정상적으로 작동합니까?
사용 후 연결을 닫을 필요가 없습니까?

from flask import Flask 
from flask_pymongo import PyMongo 
app = Flask(__name__) 

app.config['MONGO_HOST'] = '127.0.0.1' 
app.config['MONGO_PORT'] = 27017 
app.config['MONGO_DBNAME'] = 'test' 
mongo = PyMongo(app, config_prefix='MONGO') 

@app.route('/') 
def test(): 
    mongo.db.user.insert({'name':'test'}) 
    return 'test' 

if __name__ == '__main__': 
    app.run() 

고맙습니다.

+0

나는 이것이 당신이 찾고있는 대답이라고 생각합니다 : http://stackoverflow.com/a/20613627/5802335 – metmirr

+0

연결 시작과 종료에 대한 정보를 어떻게 얻었습니까? 나는 궁금해서 – wgwz

답변

1

PyMongo 연결을 닫을 필요가 없습니다. PyMongo의 연결 풀링 당신에게 가장 효율적인 성능을 제공하므로 그들 오픈 남겨 :

http://api.mongodb.com/python/current/faq.html#how-does-connection-pooling-work-in-pymongo

귀하의 코드는, 위, 맞습니다. 하나의 "PyMongo"인스턴스를 생성하고 응용 프로그램 전체에 다시 사용하십시오.

+0

고맙습니다! 나는 잘하고있는 나를 위해 행복하다 :) – Kim