У меня есть сценарий php
, где я должен выполнять несколько случайных запросов. Итак, мне было интересно, что может быть лучшим способом для подключения и выполнения запросов redis.
1 Способ, подключить один раз, сохранить подключение активным и выполнить все запросы от начала до конца сценария, а затем закрыть подключение
//Request comes and some work is done on the request like validation etc
//then
$redis = new Redis()->pconnect();
$redis->hMSet();
//Some other codes are run like sending email or similar <-Long Codes
//then
$redis->hSet();
//If everything was good send updates to other users <-Long Codes
//then
$redis->setBit();
//Some More Work <-Long Codes
//then
$redis->hGet();
$redis->close();
2 Способ, создайте соединение для каждой операции Redis и закройте и повторите для каждой операции
//Request comes and some work is done on the request like validation etc
//then
$redis = new Redis()->pconnect();
$redis->hMSet();
$redis->close();
//Some other codes are run like sending email or similar <-Long Codes
//then
$redis = new Redis()->pconnect();
$redis->hSet();
$redis->close();
//If everything was good send updates to other users <-Long Codes
//then
$redis = new Redis()->pconnect();
$redis->setBit();
$redis->close();
//Some More Work <-Long Codes
//then
$redis = new Redis()->pconnect();
$redis->hGet();
$redis->close();
1-й кажется лучшим, но я подумал, может ли плохая практика сохранять соединение живо при запуске других кодов. И все потому, что Redis эффективно обрабатывает миллионы запросов в секунду, и моя любая ошибка может не привести к каким-либо радикальным результатам. Я читал, что создание соединения является ресурсоемким, но все же я хотел быть уверен в лучшем способе.