[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кэширование коннектов к БД
UncleAndy
Умеет-ли php кэшировать коннекты к БД? Если каждый раз при клике на странице открывать коннект к БД то при большой нагрузке однозначно будут тормоза. Возможно как-то сделать что-бы открывался коннект к БД, а при повторном вызове скрипта использовалось уже готовое соединение?




Спустя 7 минут, 12 секунд (4.10.2009 - 22:13) twin написал(а):
А какой в этом глубокий смысл? Чет от меня ускользает... Причем тут клики и страницы...

Спустя 5 минут, 52 секунды (4.10.2009 - 22:19) UncleAndy написал(а):
Нет, конечно если использовать кэширование данных из БД, то можно и не подключаться к ней по каждому клику. Но если такое специальное кэширование не использовать, до при каждом клике, например, в каталоге товаров инет магазина будет открываться новый коннект к БД, что достаточно накладно. Вот я и спрашиваю - нет-ли механизма который держит такие коннекты открытыми и "раздает" их php скриптам?

Спустя 3 часа, 38 секунд (5.10.2009 - 01:20) Nikitian написал(а):
Есть. mysql_pconnect()
Открывает соединение, только если нет уже открытых. Соответственно никаких mysql_pclose нет, т.к. это соединение не закрывается ручками (только kill или по таймауту).

Спустя 6 часов, 45 минут, 19 секунд (5.10.2009 - 08:05) UncleAndy написал(а):
А для postgres есть что-нибудь такое?

Спустя 1 час, 1 минута, 43 секунды (5.10.2009 - 09:07) sergeiss написал(а):
Цитата (UncleAndy @ 5.10.2009 - 09:05)
А для postgres есть что-нибудь такое?

Я раскрою тебе страшную тайну biggrin.gif Многие функции для разных СУБД отличаются (по названиям) только префиксами в имени. И иногда у них разные наборы параметров; хотя чаще они одинаковые.
И если ты видишь, что MySQL есть mysql_query, то для Постгре можешь смело искать в мануале функцию pg_query. Для MSSQL это будет mssql_query, для SQLite - sqlite_query.
То же самое и с другими функциями: mysql_fetch_assoc - pg_fetch_assoc, mysql_pconnect - pg_pconnect, ну, и т.д. Естественно, что есть специфика у каждого типа БД, т.е. каких-то функций может не быть у одной БД, то они будут у другой БД. Например, sqlite_pconnect - НЕТУ! Даже sqlite_connect нету.

Спустя 4 часа, 15 минут, 50 секунд (5.10.2009 - 13:23) UncleAndy написал(а):
Ну, для меня это как раз "страшная тайна", т.к. раньше программил только на перле и за пхп только сейчас взялся. smile.gif Спасибо за пояснения! smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.