Я работаю над заданием.API REST (разработанный весной) имеет метод m (), который имитирует очистку окон человеком.Под конец уборщик должен написать уникальную фразу (строку) на окне.Фразы, написанные всеми уборщиками, в конечном итоге сохраняются в БД MySQL.Таким образом, каждый раз, когда выполняется m (), в БД делается запрос на выборку всех фраз, записанных в БД сегодня.Затем метод очистки m () генерирует случайную строку в виде фразы, проверяет ее в запрашиваемых фразах, чтобы убедиться в ее уникальности, и записывает ее в базу данных.Таким образом, существует один запрос на m () для извлечения всех фраз и один для написания фразы.И то, и другое происходит за одним столом.
Это сценарий, который может использовать преимущества кэширования, и я перешел к Redis.Я также думаю, что кэш обратной записи - лучшее решение.Таким образом, каждая запись происходит, она происходит в кеш, а не в БД, и каждое чтение также происходит из кэша.Кеш может быть скопирован в БД в новом потоке в час (или что-то настраиваемое).Я читал Может ли Redis записать в базу данных, такую как PostgreSQL? , и, кажется, несколько лет назад вам приходилось делать это вручную.
Мои вопросы:
- Делать это вручную все еще путь?Если нет, может кто-нибудь указать мне на ресурс Redis, который я могу использовать?
Если руководство - это путь, я планирую реализовать его.Это идеально?
Фразы, написанные каждый час, будут добавлены в список объектов (идентификатор пользователя, фраза) в Redis, список с полуночи до 1 часа ночи будет называться phrases_1, с 1 до 2 часов ночи как phrases_2 искоро.Каждый час фоновый поток записывает весь список часов в БД.Каждый раз, когда все фразы необходимо выбрать для проверки, я буду загружать все списки за день из кэша, например, phrases_1, phrases_2 в цикле и объединять их.(Позже, когда число пользователей увеличится - мне придется осколок, но это не моя непосредственная задача).
Спасибо.