WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эта секция описывает дополнительные особенности Connection/Python: Объединение связи:
раздел 9.1
. Django для MySQL:
раздел 9.2.
Простое объединение связи поддерживается, у которого есть эти особенности:
Модуль Пул открывает много связей и раблтает с потоками безопасно
обеспечивая связи запросам. Размер пула связи конфигурируем во время создания.
Это не может быть изменено после. Пул связи можно назвать во время создания. Если никакое имя не дано,
оно произведено, используя параметры связи. Название пула связи может быть получено от пула связи
или связей, полученных из него. Возможно иметь много пулов. Это позволяет запросам
поддерживать пулы связей с различными серверами MySQL, например. Для каждого запроса связи пул обеспечивает следующую доступную связь.
Никакой циклический алгоритм или другой алгоритм планирования
не используются. Если пул исчерпан, поднято исключение
Возможно повторно формировать параметры связи, используемые пулом.
Они относятся к связям, полученным из пула после этого.
Переформирование отдельных связей, полученных из пула, вызывая метод
Приложения, которые могут извлечь выгоду из
объединения связи, включают: Промежуточное программное обеспечение, которое поддерживает
многократные связи с многократными серверами MySQL и требует, чтобы связи
были легко доступны. Веб-сайты, у которых могут быть постоянные
связи, открытые для сервера MySQL. Пул связи может быть создан неявно или явно. Чтобы создать пул связи неявно:
Откройте связь и определите один или несколько связанных с пулом
аргументов ( Название пула ограничивается алфавитно-цифровыми символами и
специальными символами Размер пула должен быть больше 0 и меньше или равным
С любым Последующие вызовы Объединенные связи получены, вызывая
Чтобы освободить объединенную связь, полученную из пула связи,
вызовите метод Объединенная связь не может повторно формироваться, используя метод
У объединенной связи есть свойство
Чтобы создать пул связи явно:
Создайте объект Чтобы запросить связь из пула, используйте метод
Когда вы создаете пул связи явно, возможно использовать метод
Связи, полученные из пула после использования изменения конфигурации,
имеют новые параметры. Связи, полученные перед изменением, остаются
незатронутыми, но когда они закрываются (возвращаются в пул), будут вновь
открыты с новыми параметрами прежде, чем будут возвращены пулом для
последующих запросов связи. Connector/Python включает модуль
Django использует конфигурационный файл, названный
Возможно добавить больше параметров, используя
Django может запустить клиентское приложение MySQL
mysql. При этом он установит
Некоторые опции MySQL активированы в зависимости от версии сервера.
Например, поддержка точности долей секунды
позволена, соединяясь с сервером от MySQL 5.6.4 или выше.
Django
Глава 9. Другие темы Connector/Python
9.1. Объединение связи Connector/Python
mysql.connector.pooling
осуществляет объединение связей.PoolError
.config()
не поддерживается.pool_name
,
pool_size
). Например:
dbconfig = {
"database": "test",
"user": "joe"
}
cnx = mysql.connector.connect(pool_name = "mypool", pool_size=3, **dbconfig)
.
,
_
, *
,
$
и #
.
Название пула должно быть не больше
pooling.CNX_POOL_MAXNAMESIZE
символов (по умолчанию 64).pooling.CNX_POOL_MAXSIZE
(по умолчанию 32).pool_name
или
pool_size
Connector/Python создает новый пул.
Если pool_name
не дан,
connect()
автоматически производит имя,
составленное из аргументов соединения host
,
port
, user
и
database
, именно в этом порядке.
Если pool_size
не дан, размер
по умолчанию 5 связей.connect()
возвращают связи из существующего пула. Любой параметр
pool_size
или аргументы связи проигнорированы,
таким образом, следующий вызов connect()
эквивалентен оригинальному connect()
:
cnx = mysql.connector.connect(pool_name = "mypool", pool_size = 3)
cnx = mysql.connector.connect(pool_name = "mypool", **dbconfig)
cnx = mysql.connector.connect(pool_name = "mypool")
connect()
со связанным с пулом аргументом,
имеющим класс PooledMySQLConnection
(см.
раздел
10.4). PooledMySQLConnection
,
объединяющий объекты связи, подобен объектам
MySQLConnection
с этими различиями:close()
так же, как для любой
необъединенной связи. Однако для объединенной связи,
close()
на самом деле не закрывает связь, а
возвращает ее в пул и делает ее доступной для последующих запросов связи.
config()
. Изменения связи должны быть сделаны
через сам объект пула, как описано ниже.pool_name
, которое возвращает название пула.
MySQLConnectionPool
(см.
раздел 10.3
):dbconfig = {
"database": "test",
"user": "joe"
}
cnxpool = mysql.connector.pooling.MySQLConnectionPool(pool_name = "mypool",
pool_size = 3,
**dbconfig)
get_connection()
:
cnx1 = cnxpool.get_connection()
cnx2 = cnxpool.get_connection()
set_config()
объекта пула, чтобы повторно
сформировать параметры связи пула:
dbconfig = {
"database": "performance_schema",
"user": "admin",
"password": "
password
"
}
cnxpool.set_config(**dbconfig)
9.2.
Connector/Python и Django
mysql.connector.django
, который предоставляет
Django back end для MySQL. Это поддерживает новые функции в MySQL 5.6,
например, поддержку долей секунды для временных типов данных.Настройка Django
settings.py
, который содержит переменную
DATABASES
(см.
https://docs.djangoproject.com/en/1.5/ref/settings/#std:setting-DATABASES
). Чтобы формировать Django, чтобы использовать Connector/Python как
MySQL back end, пример, найденный в руководстве Django, может
использоваться в качестве основы:
DATABASES = {
'default': {
'NAME': 'user_data',
'ENGINE': 'mysql.connector.django',
'USER': 'mysql_user',
'PASSWORD': '
password
',
'OPTIONS': {
'autocommit': True,
},
}
}
OPTIONS
.Поддержка особенностей MySQL
sql_mode
в
TRADITIONAL
при запуске.DateTimeField
сохранен в столбце
MySQL, определенном как DATETIME(6)
,
TimeField
сохранен как
TIME(6)
.
Для получения дополнительной информации о поддержке долей секунды см.
Fractional Seconds in Time Values.
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.