2015-08-28 2 views
0

Существует довольно много блога/ссылок, которые препятствуют использованию постоянных подключений, главным образом потому, что очистка должна выполняться на стороне клиента, а также случаи, когда транзакции/блокировки должны быть правильно откатны. Тем не менее, эти ссылки старые, а не в контексте интерфейса mysqli PHP.Можно ли использовать постоянное соединение с помощью интерфейса PHP mysqli?

Я прочитал ссылку: The mysqli Extension and Persistent Connections

Это ясно показывает, что он делает большую часть требуемой очистки, когда клиент заканчивает неожиданно:

  • Откат активные операции
  • Закрыть и удалять временные таблицы
  • Разблокировать таблицы
  • Сбросить переменные сеанса
  • Закрыть подготовленные заявления (всегда происходит с PHP)
  • Закрыть обработчик
  • релиз блокировок с GET_LOCK()

Теперь, в значительной степени делает большую часть очистки, в том числе READ/WRITE замки на таблицы, если они получены. Поэтому я считаю, что это должно быть безопасно. Могу ли я ошибаться?

Кроме того, в нем говорится, что есть некоторые штрафы за производительность в виде дополнительного времени, необходимого для очистки. Я хотел бы знать, сколько может быть в миллисекундах? Может ли он когда-либо быть таким же большим, как 100 мс?

Функция автоматической очистки имеет свои преимущества и недостатки. Преимущество в том, что программисту больше не нужно беспокоиться о добавлении кода очистки, так как он вызывается автоматически. Однако недостатком является то, что код может быть немного медленнее, так как код для выполнения очистки должен запускаться каждый раз, когда соединение возвращается из пула соединений.

ответ

1

Интересно, действительно ли вы думаете, что можете доверять ответу от анонимного прохожего, чем на официальной странице документации, что четко отвечает на ваш вопрос.

Но если вы это сделаете - да, вы можете поверить, что это должно быть безопасно.

Что касается штрафа за исполнение, то из-за его просьбы, я считаю, что вам действительно не нужны постоянные соединения вообще.

+0

Так будет ли время, затрачиваемое на очистку, больше, чем соединение db? – Ouroboros