Можно ли доверить хранение данных Redis как практически основное хранилище? Например в Memcached или файловом кеше, мы обычно проверяем существование данных, и в случае их отсутствия, тянем их из БД вроде MySql и сохраняем снова. Может ли Redis гарантировать сохранность данных и их доступность? Можно ли, к примеру не хранить данные вроде категорий в основной БД а всегда использовать Redis для их хранения?
Т.е. наверное, вопрос скорее о том, для чего редис вообще может пригодиться.
Может ли Redis гарантировать сохранность данных и их доступность?
Я рассматриваю Redis как быстро восстанавливающийся из snapshot кэш. С некоторой вероятностью данные будут сохранены (негарантированно). Данные сбрасываются периодически в виде дельта. https://redis.io/topics/persistence
Можно ли, к примеру не хранить данные вроде категорий в основной БД а всегда использовать Redis для их хранения?
Можно, но не советую использовать её как основную СУБД. Хотя она хорошо масштабируется, оперативная память намного дороже SSD. В результате нужно будет платить счета за сервера с большим объемом памяти со множеством экземпляров Redis. https://stackoverflow.com/a/42677671
для чего редис вообще может пригодиться.
Для хранения данных, к которым нужен частый доступ: кэш из короткоживущих ключей.