переменной private final RedisTemplate<String, String> redisTemplate в @Service MailService
+ мне нужно хранить данные о пользователе при регистрации также в Редисе, чтобы позже , если код подтверждения верный сохрнанить пользователе в Базу данных.
Как вы считаете, что лучше:
1) изменить переменную redisTemplate на RedisTemplate<String, Object> в классе MailService и хранить коды и пользователей в 1 переменной
2) Или создать переменную redisTemplate на RedisTemplate<String, Users> в классе регистрации, и хранить пользователей отдельно?
Храни в одной, но вообще я не понимаю, почему тебе просто сразу не использовать БД? Вариант "не хочу" не принимается, мы тут инженеры бля, а не девочки на шоппинге)
Не вижу смысла сюда тащить целый редис, ради этого, когда уже есть БД
Только ради кодов Редис не имеет смысла. Но если он уже испльзуется для чего-то, то он чуть удобнее, чем БД, т.к. данные в нем не нужно удалять, он может это делать автоматически. Для кодов, конечно, хранить лучше сразу все: код как ключ, и данные пользователя как сам объект. Нужно также чтобы коды\ключи были уникальными. БД не на много сложнее. Лучше отдельная таблица с полями типа ID пользователя, уникальный код и дата, до которой код валидный (периодически таблицу очищать, храня устаревшие коды какое-то время, чтобы избежать повторов, если код достаточно короткий).
Обсуждают сегодня