Как мне начать использовать Redis базу данных с ASP.NET?
Что мне нужно установить и что я должен скачать?
Я использую Visual Studio 2008 с С#.
Как мне начать использовать Redis базу данных с ASP.NET?
Что мне нужно установить и что я должен скачать?
Я использую Visual Studio 2008 с С#.
Вы можете получить доступ к экземпляру Redis из С# с помощью драйвера servicestack. Вы можете загрузить код из своего репозитория GitHub.
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 *.
Рекомендовать StackExchage.Redis Клиентская библиотека для ASP.net. Рекомендуется Microsoft, как вы видите в этой статье MSDN. это бесплатно и с открытым исходным кодом. Также посмотрите полный список доступных клиентов Redis: http://redis.io/clients
И для установки Redis и использования клиента на платформах на базе Windows Загрузите и установите Служба Redis (сервер и клиентские инструменты с Documentaion) Написал Microsoft.
Взято из Интеграция 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;
}
}