- вам необходимо выполнить дорогостоящую операцию, которая может завершиться неудачно или успешно.
- результат операции моделируется с использованием объекта результата Result. Объект результата содержит логическое свойство, которое сообщает, была ли операция успешной, и свойство, содержащее результат операции. Здесь вы можете найти пример такой реализации.
- вы хотите использовать гибридный кэш для кэширования результата дорогостоящей операции, имея все преимущества, предоставляемые гибридным кэшем (например, защиту от давки в кэше).
- вы хотите кэшировать результат операции только в том случае, если операция завершилась успешно. Если операция завершилась неудачно, вы хотите пропустить кэширование результата операции, чтобы в следующий раз можно было повторить операцию.
Возможное решение — использовать исключение, чтобы сигнализировать гибридному кэшу о том, что не нужно кэшировать результат неудачной операции, как это сделано здесь. Есть ли другое решение этой проблемы?
Кажется, на GitHub есть предложение по API, которое идет в том же направлении.
Подробнее здесь: https://stackoverflow.com/questions/798 ... sultt-type