Асинхронный коннектор Mysql

Запомните это:

Потребители едят ужин (супер); Производитель продлевает фабрику своего родителя

19
задан Lundin 6 October 2015 в 09:26
поделиться

6 ответов

http://forums.mysql.com/read.php?45,183339,183339 обладает

Обновленная ссылка на исходную статью, показывающую, как сделать асинхронные запросы mysql:

http://jan.kneschke.de/projects/mysql/async-mysql-queries-with-c-api/

7
ответ дан 30 November 2019 в 05:15
поделиться

У меня была подобная проблема с совсем другие технологии: Скрученный Python (основанный на реакторе IO) и sqlAlchemy (??). При поиске решения я нашел о sAsync проекте, который просто создал отдельный поток для sqlAlchemy и затем ответил на запросы.

, Учитывая, что ASIO основан на низкоуровневых функциях OS (таких как aio_read () или ReadFileEx () и т.д.) и реактор уровня ОС (или проагент, в случае Windows) я не думаю, что у Вас есть другой шанс, чем эмуляция 'асинхронности' подобными средствами.

Выполнение синхронного коннектора в потоках не является опцией

, Думают об этом: libmysqlclient / mysqlclient.dll Вы используете, выполняет синхронные вызовы сокета. Планировщик ОС правильно переключится на другой поток, пока ввод-вывод не будет закончен, поэтому каково различие? (кроме того, что Вы не должны делать потоки 2k для этого..)

Редактирование: mysql_real_connect () поддерживает параметр сокета UNIX. Можно, предположительно, считать себя из mysql порта сервера и записать во что сокет UNIX только с помощью ASIO. Как proxyfication.

2
ответ дан 30 November 2019 в 05:15
поделиться

[ Выполнение синхронного коннектора в потоках не является опцией Think об этом: libmysqlclient / mysqlclient.dll, который Вы используете, выполняет синхронные вызовы сокета. Планировщик ОС правильно переключится на другой поток, пока ввод-вывод не будет закончен ]

, Это прослушивает меня! - 'другой поток' мог как легко быть второй синхронизацией. соединение с mysql, и должно быть обработано mysql так же, как это было бы другой клиент в целом? Мой gutfeel - то, что это должно работать с помощью нескольких потоков.

1
ответ дан 30 November 2019 в 05:15
поделиться

MySQL Connector/C ++ является реализацией C++ JDBC 4.0

ссылочные клиенты, которые используют MySQL Connector/C ++: - OpenOffice - MySQL Workbench

Узнайте больше: http://forums.mysql.com/read.php?167,221298

1
ответ дан 30 November 2019 в 05:15
поделиться

Существует проект под названием DBSlayer, который помещает другой слой перед MySQL, с которым Вы говорите через JSON. http://code.nytimes.com/projects/dbslayer

0
ответ дан 30 November 2019 в 05:15
поделиться

Я думаю, что единственное решение будет состоять в том, чтобы создать асинхронный сервис, который переносится стандартный разъем . Необходимо будет понять API ODBC все же.

0
ответ дан 30 November 2019 в 05:15
поделиться