Я хочу создать контейнер C++ (11), который будет использоваться для подключения базы данных. Я хотел бы иметь возможность вставлять в контейнер указатель соединения, однако std :: vector не знает время вставки, поэтому я могу использовать что-то вроде этого.Контейнер C++ с истечением срока действия
Когда соединение начинает выполнение будет также проталкивается в контейнер со временем в настоящее время().
Если соединение завершает работу в db, соединение будет удалено из контейнера .
В идеале мой класс будет иметь метод очистки, который будет периодически проверять, если соединение находится в контейнере для более определенного интервала времени, то есть 30 сек. Если это правда, соединение будет выпущено из базы данных.
Любые идеи, есть ли стандартное решение?
Вы проверили, если драйвер базы данных поддерживает пул подключений? Возможно, стоит посмотреть, прежде чем изобретать половину этого колеса. – nvoigt
Он поддерживает, однако некоторые запросы могут занять слишком много времени, удерживая строку базы данных заблокированной, и мы не хотим этого – cateof