一、前言

  Redis的介绍网上很多不再赘述。本次环境为net core 2.2,使用的StackExchange.Redis来操作Redis。

二、引用Microsoft.Extensions.Caching.StackExchangeRedis

  通过nuget搜索Microsoft.Extensions.Caching.StackExchangeRedis安装,因为依赖项版本的问题我这里用的版本是2.2.5,其本质上也是封装的StackExchange.Redis,但是它实现了net core规定的IDistributedCache接口。

三、添加redis服务

  在Startup.cs中的ConfigureServices中添加Redis的服务,会自动进行依赖注入。最简单的如下:

复制代码
        public void ConfigureServices(IServiceCollection services)         {//......             //添加redis连接            services.AddStackExchangeRedisCache(options =>             {                 options.Configuration = "127.0.0.1:6379";                 options.InstanceName = "SampleInstance";             });             //......        }    
复制代码

  InstaceName:实例名,加在redis的key前面的。

  Configuration:连接redis的链接。

  还存在一个优先级更高的ConfigurationOptions,可以配置多个redis服务的连接、密码等。

复制代码
        public void ConfigureServices(IServiceCollection services)         {//.....             //添加redis连接            services.AddStackExchangeRedisCache(options =>             {                 options.ConfigurationOptions = new ConfigurationOptions()                 {                     EndPoints = { { "127.0.0.1", 6379 } },                     //Password = "123456"                };             });             //......        }
复制代码

  具体的属性如下:

配置选项 默认 含义
AbortOnConnectFail truefalse在Azure上) 如果为true,Connect则在没有服务器可用时将不会创建连接
AllowAdmin false 启用一系列被认为具有风险的命令
ChannelPrefix null