Как используются AbsoluteExpiration, AbsoluteExpirationRelativeToNow и SlidingExpiration в операциях DistributedCacheEntryOptions?

#asp.net-core-3.1 #distributed-caching

Вопрос:

Я отвечаю за реализацию сервера состояния сеанса с ASP.NET Основной gRPC и его соответствующий клиент, чтобы иметь управление состоянием сеанса для сбалансированной по нагрузке группы ASP.NET Основные приложения. Это означает, что клиент должен реализовать IDistributedCache это.

Методы Set и SetAsync имеют параметр типа DistributedCacheEntryOptions , и этот класс имеет свойства AbsoluteExpiration , AbsoluteExpirationRelativeToNow и SlidingExpiration . Я предполагаю, что эти свойства можно использовать для сигнализации о том, что срок действия записи в кэше истек, но как они используются и как я должен их интерпретировать? Видя, что 3 свойства являются недействительными, означает ли это, что только одно из трех должно быть заполнено?

Ответ №1:

Итак, насколько я могу судить, вы должны использовать только одно из этих свойств (то, которое соответствует вашему варианту использования). В моем случае все, что мне нужно было сделать, это использовать SlidingExpiration , и это касалось моего варианта использования. В других контекстах могут потребоваться другие стратегии.