01.Download ostatnie Redis z download, zainstalować i uruchomić usługę Redis z services.msc
02.Add dwie biblioteki w project.json
"Microsoft.Extensions.Caching.Redis.Core": "1.0.3",
"Microsoft.AspNetCore.Session": "1.1.0",
03.Add ty Dependency Injection w
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
//For Redis
services.AddSession();
services.AddDistributedRedisCache(options =>
{
options.InstanceName = "Sample";
options.Configuration = "localhost";
});
}
i w metodzie Configure
dodaj górę aplikacji app.UseMvc linia
app.Użycie sesji();
używać Redis w rdzeniu przechowywania sesji w asp.net .Teraz można korzystać tak w 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();
}
}
Czy rzeczywiście chciał użyć 'Microsoft.Extensions.Caching. Redis' zamiast tego, który jest out-of-the-box redis obsługuje rozproszone buforowanie? Jest to jedna z 3 domyślnych implementacji interfejsu 'IDistrubutedCache' https://github.com/aspnet/Caching/tree/1.0.0/src – Tseng
Zainstalowałem ** Microsoft.Extensions.Caching.Redis ** w pierwszej chwili, ale nie jest kompatybilny z .NET Core, potrzebuje 4.5. – Coding
'StackExchange.Redis' zawiera tylko klienta redis, nie implementuje się w rdzeniu ASP.NET. Ale rozproszona implementacja pamięci podręcznej Microsoftu używa 'Microsoft.Extensions.Caching.Redis', jest tylko otoką wokół niego i interfejsem' IDistrubtedCache'. github.com/aspnet/Caching/blob/dev/src/Microsoft.Extensions.Caching.Redis/RedisCache.cs – Tseng