python实用mysql池-motivation from=>[查询时与mysql服务器失去连接]基于mysql连接器支持fixed动态池

PyMysqlPool的Python项目详细描述


https://api.travis-ci.org/LuciferJack/python-mysql-pool.svg?branch=masterhttps://img.shields.io/badge/license-MIT-blue.svg

Desc

python实用mysql池说明: 这个包包含一个纯python mysql连接器库。pymysqlpool的目标 是一个mysql池,其动机是基于mysql connector=>;[查询期间与mysql服务器失去连接]。

功能
  • 使用方便。
  • 支持【no、fixed、dynamic pool】。
  • 管理【失败/丢失连接】。
  • 支持【no、fixed、dynamic pool】=>;django框架。
  • 支持【无、固定、动态池】=>;烧瓶框架。

Requirements

  • python库–以下之一:
    mysqldb
  • Python–以下之一:
    python中的成功测试>;=2.7
  • MySQL服务器–以下之一:
    mysql>;=5.5(成功测试,>;=5.5~)

Installation

上一个稳定版本在pypi上可用,可以使用pip

安装
$ pip install PyMysqlPool

您可以使用easy_install

安装
$ easy_install PyMysqlPool

您可以使用manually

安装
$ git clone https://github.com/LuciferJack/python-mysql-pool.git or  download  ***.tar.gz

$ cd PyMysqlPool-***

$ python setup.py install

Documentation

在线提供文档:http://PyMysqlPool.readthedocs.io/

有关支持,请参阅StackOverflow

Example

下面是prototype池示例:

step:1"""
file: new a mysql_config.py file and change to your db config
"""db_config={'local':{'host':"10.95.130.***",'port':8899,'user':"root",'passwd':"****",'db':"marry",'charset':"utf8",'pool':{#use = 0 no pool else use pool"use":1,# size is >=0,  0 is dynamic pool"size":0,#pool name"name":"local",}},'poi':{'host':"10.95.130.***",'port':8787,'user':"lujunxu",'passwd':"****",'db':"poi_relation",'charset':"utf8",'pool':{#use = 0 no pool else use pool"use":0,# size is >=0,  0 is dynamic pool"size":0,#pool name"name":"poi",}},}step:2"""
Note:create your own table
"""step:3(exampleshowbelow)fromPyMysqlPool.db_util.mysql_utilimportquery,query_single,insertOrUpdate,"""
pool size special operation
"""defquery_pool_size():job_status=2_sql="select *  from master_job_list j  where j.job_status  in (%s) "_args=(job_status,)task=query(db_config['local'],_sql,_args)logging.info("query_npool method query_npool result is %s ,input _data is %s ",task,_args)return"""
single query
"""defquery_npool():job_status=2_sql="select *  from master_job_list j  where j.job_status  !=%s "_args=(job_status,)task=query_single(db_config['local'],_sql,_args)logging.info("query_npool method query_npool result is %s ,input _data is %s ",task,_args)return"""
insert
"""definsert(nlp_rank_id,hit_query_word):#add more args_args=(nlp_rank_id,hit_query_word)_sql="""INSERT INTO nlp_rank_poi_online (nlp_rank_id,hit_query_word,rank_type,poi_list,poi_raw_list,article_id,city_id,status,create_time,version,source_from) VALUES (%s,%s,%s, %s, %s,%s, %s,%s, %s,%s,%s)"""affect=insertOrUpdate(db_config['local'],_sql,_args)logging.info("insert method insert result is %s ,input _data is %s ",affect,_args)return"""
update
"""defupdate(query_word,query_id):_args=(query_word,query_id)_sql="""update nlp_rank  set query_word = %s  WHERE  id = %s"""affect=insertOrUpdate(db_config['local'],_sql,_args)logging.info("update method update result is %s ,input _data is %s ",affect,_args)return
Djangouseexample:"""
file:settings.py
change to your db config
"""DATABASES={'default':{'ENGINE':'PyMysqlPool.mysql.connector.django','NAME':'django','USER':'root','PASSWORD':'*******','HOST':'10.95.130.***','PORT':'8899','OPTIONS':{'autocommit':True,'pool':{#use = 0 no pool else use pool"use":1,# size is >=0,  0 is dynamic pool"size":0,#pool name"name":"local",}},}}
Flaskuseexample:"""
change to your db config
"""fromPyMysqlPool.mysql.connector.flask.mysqlimportMySQLapp=Flask(__name__,template_folder='flaskPoolShowcase/flask_templates')#mysql configapp.config.update(DEBUG=False,MYSQL_DATABASE_HOST='10.95.130.***',MYSQL_DATABASE_PORT=8899,MYSQL_DATABASE_USER='root',MYSQL_DATABASE_PASSWORD='******',MYSQL_DATABASE_DB='flask',MYSQL_USE_POOL={#use = 0 no pool else use pool"use":0,# size is >=0,  0 is dynamic pool"size":10,#pool name"name":"local",},)mysql=MySQL()mysql.init_app(app)

或者使用连接类型,比如prototype方法。

License

pymysqlpool是根据mit许可证发布的。有关详细信息,请参见许可证。

Plan

Dynamic Load Optimization.
Minimum number of connections to maximum performance.

Scope

Now use in BaiDu off-line calculation module.
Like this project, welcome to use and to enhance together.

Frequency Ask

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java用变化的替换字符串替换子字符串   从数据库中断中恢复的oracle Java DAL?   Android/Java页边距位于左/右/底部   java如何用相同的源代码构建不同的APK?(我发现了一个错误)   java正则表达式,仅当字符串以一行中的3个数字开头时才匹配第一个数字   使用以xml为输入的给定端点调用java中的rest-ful web服务?   java长字符串转换为UTF8引发异常   java如何使用截取方法获取ArrayList   java将计算列添加到可观察列表中   正则表达式如何在java正则表达式中使用组?   java正则表达式只接受字母表和空格,不允许在字符串的开头和结尾使用空格   java简单onclick按钮在安卓中不起作用   java如何在Spring中只实现Crudepository的特定方法?   java无法使用json对象NPE读取jsonarray   java我可以添加maven依赖项,这些依赖项被打包为除此之外的任何东西。罐子