Как узнать, когда сделать кеш недействительным, если изменение таблицы произведено из внешнего источника?
У меня есть вызов API, который возвращает таблицу сотрудников. При первом вызове я буду кэшировать результаты, чтобы при последующих вызовах он извлекал данные из кэша, а не из базы данных. Это имеет смысл, однако, что произойдет, если кто-то добавит новую запись в таблицу сотрудников из за пределами API , как кэш узнает, что она теперь недействительна?
Если пользователь внес изменения в таблицу сотрудников через API , я могу это зафиксировать, но у нас есть отдельное настольное приложение, которое не использует API, и это приложение может напрямую вносить изменения в рабочий стол. Есть ли принятые стандарты для обработки этого?
Единственное возможное решение, которое я могу придумать, - это добавить триггер к таблице сотрудников и каким-то образом использовать его, чтобы знать, когда таблица изменилась. Но у нас есть более тысячи таблиц, и мы делаем вызов API для каждой таблицы - поэтому я не думаю, что добавление тысячи триггеров в нашу базу данных является приемлемым решением.