Microsoft расширяет поддержку Redis


Microsoft выпустила предварительную версию Redis Cache для Azure вместе с поставщиком состояния сеанса ASP.NET для Redis, который можно использовать со стандартными серверами Redis или с кэшем Redis для Azure.

Redis — это расширенное хранилище ключей и значений с открытым исходным кодом, лицензируемое BSD, где ключи могут содержать строки, хэши, списки, наборы и отсортированные наборы. Он становится все более популярным в веб-разработке как хранилище состояний сеанса из-за его простоты и поддержки обширной структуры данных. Обновленная версия Redis была выпущена в апреле с новыми функциями, включая новую структуру данных и дополнительные команды для сортированных наборов данных.

Служба кэша Redis для Azure предоставляет безопасный выделенный кеш Redis, управляемый Microsoft. Предварительная версия предлагается на двух уровнях: один узел кэша для разработки, тестирования и некритических рабочих нагрузок и реплицированный кэш, состоящий из двух узлов, главного и ведомого. В период предварительной версии кэш Redis для Azure будет доступен размером 250 МБ и 1 ГБ. В течение ограниченного времени кеш будет предлагаться бесплатно с ограничением двух кешей на подписку.

В своем блоге Скотт Гатри рассказывает о предварительном просмотре, демонстрируя, как использовать клиент .NET Redis под названием StackExchange.Redis для подключения к конечной точке кеша. Вы можете открыть любой проект Visual Studio и добавить к нему пакет NuGet StackExchange.Redis с помощью диспетчера пакетов NuGet.

Предварительная версия поставщика состояния сеанса ASP.NET для Redis доступна с помощью NuGet. В своем блоге по веб-разработке и инструментам .NET Гуан Ян говорит, что хотя проект Redis не поддерживает напрямую Windows, Microsoft Open Technologies разрабатывает и поддерживает высококачественный порт Redis для Windows.

Янг объясняет, что кэш Redis для Azure предоставляет поставщика состояния сеанса, который можно использовать для хранения состояния сеанса в кеше, а не в памяти или в базе данных SQL Server. Чтобы использовать кэширующий поставщик состояния сеанса, вы сначала настраиваете кеш, а затем настраиваете приложение ASP.NET для кеширования с помощью пакета NuGet Redis Cache Session State.

Провайдер состояния сеанса сохраняет один сеанс в Redis как единый хэш.

Например, если у вас есть сеанс с идентификатором сеанса = «идентификатор-сеанса-1», и вы сохранили «ключ1 = значение1» и «ключ2 = значение2» внутри сеанса, то запрос на HGETALL идентификатор сеанса- 1_Data вернет и ключи, и значения.

Ян говорит, что, когда Microsoft говорит с разработчиками о текущих доступных поставщиках состояния сеанса ASP.NET, одна из главных жалоб заключается в том, что с текущими доступными поставщиками состояния сеанса, если во время операции сеанса возникает ошибка, поставщик состояния сеанса выдаст исключение, которое взорвет все приложение. Он говорит: «Мы хотим решить эту проблему таким образом, чтобы это не удивило существующих пользователей провайдера состояния сеанса ASP.NET, и в то же время предоставило возможность выбрать расширенное поведение».

Для этого Microsoft представила параметр в новом поставщике состояния сеанса, throwOnError. Это позволяет указать, следует ли генерировать исключение при возникновении какой-либо ошибки. По умолчанию установлено значение true, что согласуется с другими поставщиками состояния сеанса ASP.NET, которые предоставляет Microsoft, поэтому существующий код будет работать. Однако, если вы установите для throwOnError значение false, то вместо того, чтобы генерировать исключение при возникновении какой-либо ошибки, он автоматически завершится с ошибкой. Затем вы можете использовать проверку ошибок с помощью свойства LastException для более точной обработки исключений.


Добавить комментарий