I am new to Redis and using using VS 2015 and ASP.NET Core app (v 1.0), I installed the nugget package:
Install-Package StackExchange.Redis
However I am not able to inject and configure it into my services, there is no RedisCache or "AddDistributedRedisCache" method.
How can I inject and use it?
01.Download latest redis from download ,install and start the redis service from services.msc
02.Add two library in project.json
"Microsoft.Extensions.Caching.Redis.Core": "1.0.3",
"Microsoft.AspNetCore.Session": "1.1.0",
03.Add you dependency injection in
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
//For Redis
services.AddSession();
services.AddDistributedRedisCache(options =>
{
options.InstanceName = "Sample";
options.Configuration = "localhost";
});
}
and in Configure
method add top of app.UseMvc line
app.UseSession();
to use redis in session storage in asp.net core .Now you can use like this in HomeController.cs
public class HomeController : Controller
{
private readonly IDistributedCache _distributedCache;
public HomeController(IDistributedCache distributedCache)
{
_distributedCache = distributedCache;
}
//Use version Redis 3.22
//http://stackoverflow.com/questions/35614066/redissessionstateprovider-err-unknown-command-eval
public IActionResult Index()
{
_distributedCache.SetString("helloFromRedis", "world");
var valueFromRedis = _distributedCache.GetString("helloFromRedis");
return View();
}
}