Я начинаю использовать Redis как кеш, и я не уверен в лучшей структуре для своего приложения. Общая структура ниже:Redis Cache с источниками данных, пользователями и запросами
Некоторые вещи, которые мне нужно, чтобы быть в состоянии сделать это:
- Промывка все для источника данных (все пользователи и все запросы).
- Очистка всего для конкретного пользователя (e.x: мне нужно будет удалить пользователя 1 и его запросы из источника данных 1 и источника данных 2).
Все, что указано в дереве, предназначено для того, чтобы быть частью ключа для доступа к результатам выполнения запроса для пользователя в конкретном источнике данных. Я новичок в Redis, и я возвращаюсь туда и обратно между использованием хэшей и множеств.
Вариант 1 (Sets):
DataSource1 => user1, user2, user3, user4
DataSource1:user1 => Query1, Query2, Query3
DataSource1:user1:Query1 => Results
Промывка все будет дорого, потому что я должен был бы найти все ключи, которые соответствуют user1 или DataSource1.
Частичный Вариант 2 (хэш):
users:user1 DataSource1:Query1 Results1 DataSource2:Query1 Results2
Все еще не уверен, как промывочные источники данных или пользователи будут работать здесь.
Есть ли у кого-нибудь другие мысли/модификации?
Мне нравится это решение. Это чисто и просто. Благодаря! –