Как глобально установить значение срока действия ключа для всех ключей Azure Redis Cache с помощью StackExchange.Redis? - PullRequest
0 голосов
/ 09 января 2019

Я реализую кэш Azure Redis в приложении Asp.net Core MVC 2.1. Мне нужно установить значение срока действия ключа по умолчанию для всех ключей в глобальном масштабе. А также у меня должна быть возможность переопределить срок действия отдельных ключей.

Я знаю, что мы можем установить срок действия для отдельных ключей, используя метод IDatabase.KeyExpire, но я ищу какую-то конфигурацию, которая применима ко всем ключам.

Примечание. Я использую стандартную политику выселения (volatile-lru), в нее не внесено никаких изменений.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы пытаетесь сохранить, не выполняя команду EXPIRE для каждой клавиши? Если это так, команда Redis SETEX, которая выполняет SET и EXPIRE вместе, может помочь, и вы можете использовать предварительно сконфигурированное значение срока действия с помощью метода расширения / оболочки. StackExchange.Redis использует команду SETEX при использовании срока действия. Для установки срока действия отдельных ключей вы можете использовать команду EXPIRE.

0 голосов
/ 09 января 2019

AFAIK, redis не предоставляет эту возможность - вам придется указать автоматически истекающие ключи. Пожалуйста, обратитесь к этой статье .

Когда мы переходим к определению IDatabase, мы можем видеть следующее изображение KeyExpire и указывать только один ключ для установки срока действия, отличное от KeyExists, которое может установить массив ключей. Таким образом, вы должны установить срок действия для каждого ключа .

enter image description here

Для более подробной информации, вы можете перейти к этой статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...