2014-10-29 3 views
0

Мы рассматриваем использование Redis для состояния сеансов, но похоже, что он поддерживает политику истечения срока действия LRU, когда ОЗУ достигает своего предела.Поставщик состояния сеанса ASP.NET для кэша Redis и TTL

Итак, мы не начнем очистку до тех пор, пока не закончится RAM.

Раньше мы использовали кеш AppFabric, который позволял использовать для установления политики истечения срока действия на основе последнего времени доступа, например. если не считать за 30 минут, то истекает

Поскольку мы запускаем эти машины в виртуализованной среде, нам не нужно выделять активную ОЗУ при хранении данных, которые не используются.

Есть ли способ достичь такой политики истечения срока действия с помощью Redis Cache?

Спасибо заранее, Joel

ответ

2

Предполагая, что вы используете: https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider/

Существует экспирации на каждой сессии в Redis. Если сеанс не используется, он автоматически удаляется из redis, когда истекает время истечения.

RedisSessionStateProvider в основном устанавливает EXPIRE (http://redis.io/commands/expire) на каждый сеанс (равный таймауту сеанса) при каждом сеансе доступа.

Смежные вопросы