如何在.net中开始使用redis

时间:2013-11-28 08:26:26

标签: asp.net redis

我是NO-SQL概念的新手,我想在Asp.net网络应用程序中开始使用redis。通过我的搜索,我找不到使用Redis和Asp.net的好例子,并为初学者解释redis的详细信息,我真的很感激。

2 个答案:

答案 0 :(得分:1)

您需要使用ServiceStack.Redis,这是一个很好的教程Getting started with Redis in ASP.NET under Windows

答案 1 :(得分:0)

如果您要在Asp.net应用程序中使用Redis,则有两种使用Redis的方法:

1。使用Redis并将DistributedRedisCache添加到启动类中。

2。使用第三方库,例如 serviceStack.Redis或 StackExchange.Redis

我告诉了您一系列的一般说明,现在是时候使用Redis进行编码了!!!

第一种方法:

首先,应在应用程序中安装以下软件包:

安装Microsoft.Extensions.Caching.Redis.Core包

之后,将以下部分添加到您的appsetting.json文件中:

 "redis": {
    "host": "127.0.0.1",
    "port": 6379,
    "name": "localhost"
  }

现在是时候将已安装的软件包作为服务添加到starup中了:

 services.AddDistributedRedisCache(options =>
            {
                options.InstanceName = Configuration.GetValue<string>("redis:name");
                options.Configuration = Configuration.GetValue<string>("redis:host");
            });

现在您可以在应用程序中使用Redis了:

   public class HomeController : Controller
    {
        private readonly IDistributedCache _cache;
        public HomeController(IDistributedCache cache)
        {
            _cache = cache;
        }

        public IActionResult Index()
        {
            string data = "";
            if (string.IsNullOrEmpty(_cache.GetString("Student")))
            {
                _cache.SetString("student", "hamidhasani");
            }
            else
            {
                data = _cache.GetString("student");
            }
            ViewData["DistCache"] = data;
            return View(data);
        }
}

第二种方法:

在这种方法中,应该安装一个库,在这里我想安装服务栈,所以让我们将其添加到我们的项目中:

安装软件包serviceStack.Redis

在此之后是时候使用它了。我在这里公开了它的用法:

  public class HomeController : Controller
    {
         private IRedisClient _redisClient;
        public HomeController()
        {
             _redisClient = new RedisClient();
        }

        public IActionResult Index()
        {
            Person person = null;
            var NewPerson = new Person()
            {
                Id = 1,
                Name = "hamid",
                LastName = "hasani"
            };
            var rc = _redisClient.As<Person>();
            if (rc.GetById(NewPerson.Id) == null)
            {
               person= rc.Store(person);
            }
            else
            {
              person= rc.GetById(NewPerson.Id);
            }
             return View(person);
        }
}