#python #redis
#python #redis
Вопрос:
Я использую скрипт python (контейнер docker) для записи в Redis db (контейнер docker). Основная цель скрипта — выполнить запись в базу данных Redis. Но есть и другие скрипты, которые записывают в ту же базу данных Redis. Итак, где я должен установить соединение с redis db внутри функции в скрипте или глобально?
Ответ №1:
Если ваш проект на python выполняется долго (например, веб-приложение или скрипт-демон, который выполняется вечно) и выполняет повторяющиеся вызовы, откройте одно соединение и повторно используйте его.
Если ваш код python является недолговечным скриптом (например, он выполняется в течение нескольких секунд, а затем завершается), то это не имеет большого значения. Даже тогда, если выполняется несколько операций чтения / записи, лучше открыть одно соединение и повторно использовать его в скрипте.
Судя по формулировке вашего вопроса, это звучит так, как будто вы, возможно, думаете об открытии соединения вне скрипта? Я не совсем уверен, к чему вы клоните, поэтому я не могу ответить там.
Комментарии:
1. в скрипте есть одна функция, основной задачей которой является запись в redis db. Скрипт завершается после записи данных в redis db. Скрипт запускается всякий раз, когда есть данные, и записывает их в базу данных redis
2. В этом случае звучит так, как будто он должен открывать новое соединение при каждом запуске скрипта. Если бы вы настроили его так, чтобы скрипт просто выполнялся вечно, непрерывно зацикливаясь в ожидании записи новых данных, тогда имело бы смысл открыть одно соединение и повторно использовать его. В вашем случае кажется нормальным просто открывать новое соединение при запуске скрипта и закрывать его, когда он заканчивается