Определение базы данных Redis во время выполнения - PullRequest
0 голосов
/ 03 марта 2019

Я использую клиент Redis для Python под названием Redis-py.Библиотека GitHub находится здесь https://github.com/andymccurdy/redis-py. Мне было интересно, есть ли способ установить значения инициализации базы данных Redis во время выполнения.Например, если у меня есть глобальная переменная с именем db и я хочу изменить значение db в зависимости от конфигурации (dev, test, prod и т. Д.), Есть ли способ, которым я могу это сделать.Redispy предоставляет только конструктор, но не предоставляет никакого способа инициализации во время выполнения.

Один из способов сделать это - определить глобальную переменную db как None и использовать функцию для установки изменения переменной db на правильный redis db.Но я действительно стараюсь избегать использования ключевого слова global / изменения глобальной переменной в функции.Каковы другие способы сделать это?

1 Ответ

0 голосов
/ 03 марта 2019

Непонятно, говорите ли вы о динамическом изменении конфигурации клиента или сервера .

Если вы хотите изменить конфигурацию клиента, выпросто создаст новое соединение, создав новый экземпляр объекта Redis.Вы можете увидеть пример этого в документации :

>>> r = redis.Redis(host='localhost', port=6379, db=0)

Если вы хотите "изменить" db, вы просто создадите новое соединение (т.е. Redisобъект) с новым значением db.

Если вы говорите о динамическом изменении конфигурации сервера Redis, вы можете сделать это с помощью команды CONFIG SET.

...