Подтвердить что ты не робот

Начать использование Redis с помощью ASP.NET

Как мне начать использовать Redis базу данных с ASP.NET?

Что мне нужно установить и что я должен скачать?

Я использую Visual Studio 2008 с С#.

4b9b3361

Ответ 1

Вы можете получить доступ к экземпляру Redis из С# с помощью драйвера servicestack. Вы можете загрузить код из своего репозитория GitHub.

Ответ 2

FYI, оба:

- это веб-приложения ASP.NET с открытым исходным кодом, которые используют только клиент ServiceStack.Redis С#.

Вот пример того, как вы бы использовали Инверсия управления (IoC) для регистрации пула соединений клиента Redis и его сопровождающего IRepository с помощью IoC:

//Register any dependencies you want injected into your services
container.Register<IRedisClientsManager>(c => new PooledRedisClientManager());
container.Register<IRepository>(c => new Repository(c.Resolve<IRedisClientsManager>()));

Примечание. Если вы только начинаете с клиента, я рекомендую вам пройти через С# Client Wiki, особенно Проектирование простого блого-приложения с учебником Redis *.

Ответ 3

Рекомендовать StackExchage.Redis Клиентская библиотека для ASP.net. Рекомендуется Microsoft, как вы видите в этой статье MSDN. это бесплатно и с открытым исходным кодом. Также посмотрите полный список доступных клиентов Redis: http://redis.io/clients

И для установки Redis и использования клиента на платформах на базе Windows Загрузите и установите Служба Redis (сервер и клиентские инструменты с Documentaion) Написал Microsoft.

Ответ 4

Взято из Интеграция Redis в проект MVC в ASP.NET:
Первое, что нужно сделать, это установить Redis на свой компьютер. Он создан для Linux, но имеет простую установку для Windows. Фактически Microsoft имеет реализацию с открытым исходным кодом, где вы можете загрузить установку с этой страницы GitHub.

Установите StackExchange.Redis из Nuget.
Затем вы можете использовать его следующим образом:

public class RedisCache : ICache
{
private readonly ConnectionMultiplexer redisConnections;

public RedisCache()
{
    this.redisConnections = ConnectionMultiplexer.Connect("localhost");
}
public void Set<T>(string key, T objectToCache) where T : class
{
    var db = this.redisConnections.GetDatabase();
    db.StringSet(key, JsonConvert.SerializeObject(objectToCache
                , Formatting.Indented
                , new JsonSerializerSettings
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
                    PreserveReferencesHandling = PreserveReferencesHandling.Objects
                }));
}


public T Get<T>(string key) where T :class
{
    var db = this.redisConnections.GetDatabase();
    var redisObject = db.StringGet(key);
    if (redisObject.HasValue)
    {
        return JsonConvert.DeserializeObject<T>(redisObject
                , new JsonSerializerSettings
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
                    PreserveReferencesHandling = PreserveReferencesHandling.Objects
                });
    }
    else
    {
        return (T)null;
    }
}