安装依赖

微软官方提供了用Redis作为缓存服务器的NuGet包,通过NuGet安装Microsoft.Extensions.Caching.StackExchangeRedis即可。

注册服务

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = "127.0.0.1:6379";
    options.InstanceName = "coco_redis";
});

Configuration是Redis的连接字符串,一般由IP、端口号、密码组成(上例未配置密码),InstanceName是实例名称,它会作为key的前缀。

可以看到第2、3、4个key都是由注册的服务生成的,key都由InstanceName作为前缀,而第一条是使用redis-client添加的因此没有前缀。

在Controller中使用

//构造器中注入服务
public TestController(IDistributedCache distributedCache)
   {
      _distributedCache = distributedCache;
   }
   
 ...
 
  /// <summary>
   /// 增加一条数据缓存
   /// </summary>
   /// <param name="key"></param>
   /// <param name="value"></param>
   /// <returns></returns>
   [HttpPost]
   public string SetStr(string key,string value)
   {
      _distributedCache.SetString(key,value);
      return "Success";
   } 
   
   /// <summary>
   /// 获取一条数据缓存
   /// </summary>
   /// <param name="key"></param>
   /// <returns></returns>
   [HttpGet]
   public string GetStr(string key)
   {
      string str = _distributedCache.GetString(key);
      return str;
   }

进行接口测试