Как вы управляете несколькими проектами на своем компьютере для разработки и / или тестирования, когда некоторые из этих проектов используют базы данных Redis?
Есть две основные проблемы:
- Redis нене имеют именованных баз данных (только цифры 0-16)
- Тесты, вероятно, будут выполнять FLUSHDB при каждом запуске
Сейчас, я думаю, у нас есть три варианта:
- Назначение разных баз данных для каждого проекта, каждого разработчика и среды тестирования
- Префиксные ключи к имени проекта с использованием чего-то вроде
redis-namespace
- Nuke и заполнение баз данных каждый раз, когда вы переключаетесь междупроекты
Первый проблематичен, если несколько проектов назначают «0» для основного использования и «1» для теста и тому подобное.Даже если Проект B решил изменить на «2» и «3», другой участник проекта может столкнуться с конфликтом в других проектах для него.Другими словами, этот подход не подходит для SCM.
Во-вторых, это плохая идея просто потому, что он добавляет ненужные накладные расходы на производительность во время выполнения и эффективность использования памяти.И независимо от того, что вы делаете, другой проект может уже использовать тот же ключ по совпадению, когда вы присоединились к проекту.
Третий вариант - скорее продукт компромисса, но иногда я хочу оставить свои локальные данные нетронутыми, покаЯ внедряю небольшие исправления для других проектов.
Я знаю, что это может быть запрос функции для Redis, но мне нужно решение сейчас.
Есть идеи, практики?