U кэширует список элементов, затем добавляет или обновляет или удаляет вызываемый метод.
Подход 1)
A- Изменить данные в базе данных. В случае успеха сделайте B, C
B- Удалить весь список из кэша.
C- Повторное кэширование списка при первом чтении.
Подход 2)
A- Измените ли данные в базе данных, в случае успеха выполните B
B- Сделайте те же изменения в кэшированных элементах и сэкономьте больше времени.
Подход (2), вероятно, вызовет неприятные проблемы с обнаружением ошибок, поскольку данные поступают из BLL и помещаются непосредственно в кэш. Нельзя допустить, чтобы при sproc не возникало никаких ошибок, я не беспокоюсь об ошибках времени выполнения базы данных, ошибки времени выполнения будут показать, но я беспокоюсь о неверных данных или пропустить расчет.
Могу ли я приступить к подходу (2) с осторожностью? Существует ли принцип «наилучшей практики», который предлагает не делать подход (2)?