欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net core 使用 redis

程序员文章站 2022-04-03 17:46:11
.net core 使用 redis 个人感觉.net core 对于微软技术而言有很重要的意义 ,所以最近已有时间就想看一看关于.net core 的文章。 今天我就来写一写如何在.net core 环境中使用redis。 https://redis.io/clients 这个是redis的客户端 ......

.net core 使用 redis

个人感觉.net core 对于微软技术而言有很重要的意义 ,所以最近已有时间就想看一看关于.net core 的文章。

今天我就来写一写如何在.net core 环境中使用redis。

https://redis.io/clients 这个是redis的客户端支持地址

看见redis的客户端有很多语言支持的。

.net core 使用 redis

点开c#看见一个非常熟悉的驱动StackExchange

.net core 使用 redis

只怪自己一开始选择了最熟悉的这个驱动,其实如果选择Servicestack的话应该会好一点

创建redis工具类

https://www.nuget.org/packages/StackExchange.Redis/1.2.6

我在nuget中找到了这个驱动的相关说明,发现只支持.net standard不知道安装到.net core app项目中会不会有什么问题,不过没关系还好之前对.net standard有一点点了解。

其实很简单,就是创建一个类库,类库的类型选择.net standard而不是.net core的就行了。

由于我用的开发工具不是visual studio而是visual studio code,所以我可以在终端里使用dotnet cli命令.

于是我在项目的同级补录创建了一个文件夹,cd进去之后输入dotnet cli命令:

dotnet new class

稍等片刻,在这个文件夹下就创建完成了一个类库。

说明一下:如果用dotnet cli创建的类库,默认类型就是.net standard如果用visual studio创建的话则需要手动选择类库类型。

打开nuget管理工具安装StackExchange.Redis,visual studio code 可以用dotnet cli命令也可以用nuget插件。

创建一个redis工具类,添加如下代码

 private static ConnectionMultiplexer redis;

        protected static ConnectionMultiplexer GetConn()
        {
            if (redis == null || redis.IsConnected)
            {
                redis = ConnectionMultiplexer.Connect("localhost");
            }
            return redis;
        }

然后在这个类中可以根据api添加自己的扩展方法,我为了方便都是在别的项目中继承这个类,然后调用GetConn()获取ConnectionMultiplexer后根据需求操作redis中的数据。

比如

创建hash: GetConn().GetDatabase().HashSet()

获取hash: GetConn().GetDatabase().HashGet()

执行redis语句: GetConn().GetServer(GetConn().GetEndPoints()[0]).Keys(0, "weather:*");

接下来就是在自己之前的项目中(web/console)引用刚创建的类库,

dotnet cli:dotnet add [选项] <PROJECT> [命令]

一般为了速度,都是之家打开项目文件加入一行代码就可以了

类似于:

<ItemGroup>
   <ProjectReference Include="../Models/Models.csproj" />
  </ItemGroup>

其实我对redis了解的还很好,如果有大神偶遇,请多指教:)