Использование Memcache для хранения объектов подключения - PullRequest
0 голосов
/ 15 сентября 2009

Желательно ли хранить объекты SQL Connection в memcache?

Ответы [ 3 ]

3 голосов
/ 15 сентября 2009

Я бы не стал хранить объект подключения в любом типе кэша. При использовании пула соединений соединение открывается очень быстро, поэтому нет необходимости его кэшировать.

1 голос
/ 17 сентября 2009

В PHP это даже невозможно. Если вы попытаетесь сериализовать обработчик подключения к базе данных или обработчик файлов, вас ждет сюрприз.

$f = fopen('handler-serialize.php', 'r');
var_dump(serialize($f));
fclose($f);

Вывод этого будет:

string 'i:0;' (length=4)

Я не знаю, как это обрабатывается на других языках, но я бы предположил, что все языки не позволяют хранить обработчики для ресурсов, которые могут больше не существовать, когда сохраненные значения проснутся позже. 1007 *

Поэтому, чтобы ответить на ваш вопрос, нет не рекомендуется хранить объекты Connection в memcached.

0 голосов
/ 18 сентября 2009

Вы понимаете, что спрашиваете, можете ли вы кэшировать соединение за соединением?

Кэширование: подключиться к memcached, получить соединение

Нет кэширования: подключиться к базе данных

Вы не можете обойти соединение, поэтому я действительно не понимаю, почему вы хотели бы сделать это.

...