Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Работаем С Redis В C#. Быстрый Старт

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,071
Баллы
155
Возраст
51
Redis — хранилище данных типа «ключ» — «значение» («key» — «value»). Благодаря тому, что как и Memcashed, Redis хранит данные в оперативной памяти, работа с ними осуществляется предельно быстро, что в сочетании с поддержкой различных типов данных, возможностью сохранения данных на диск и рядом других особенностей, сделало Redis если не самым популярным решением для реализации кеша в сложных высоко нагруженных приложениях, то во всяком случае одним из таковых.

В этой статье мы рассмотрим основы работы с Redis в C# на примере добавления и получения строковых данных.


Для начала подключаем к проекту через NuGet клиент для Redis (на скриншоте ниже он уже подключен).


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Подключаем пространство необходимое имён:

using StackExchange.Redis;
Подключаемся к Redis.
private ConnectionMultiplexer redis;
Database db;
. . .
redis = ConnectionMultiplexer.Connect("localhost");
db = redis.GetDatabase();

Для добавления данных служит семейство методов с суффиксом Set. Эти методы принимают два обязательных параметра. Имя ключа (строка) и передаваемое значение в одном из поддерживаемых форматов.

Например, для строки:

db.StringSet("testKey", "Test string");

Для добавления данных служит семейство методов с суффиксом Get. Эти методы принимают в обязательном порядке только имя ключа.

В качестве примера получим из Redis ранее добавленную строку.

string str = db.StringGet("testKey");

К сожалению возврат значения по умолчанию не предусмотрен. Поэтому разработчику придётся самостоятельно позаботиться о том, чтобы попытки получить данные по несуществующим ключам обрабатывались корректно.

Ситуация осложняется тем, что результат возвращается в формате RedisResult.

В случае присвоения результата переменной соответствующего типа требуемое приведение выполняется автоматически. Но, получение данных из базы происходит до присвоения.

Как вариант, можно привести типы вручную, как это показано ниже для строки с использованием оператора объединения со значением null.

string str = db.StringGet("testKey3").ToString() ?? "Default string";

В целом же работа с Redis в C# строится довольно просто и позволяет встроить в приложение быстрое хранилище данных для кеширования без особых затрат времени и сил.
 
Вверх