我的感受.net core 对于微软技术而言有很重要的意义 ,因此最近已有时间就想看一看关于.net core 的文章。web
今天我就来写一写如何在.net core 环境中使用redis。redis
https://redis.io/clients 这个是redis的客户端支持地址c#
看见redis的客户端有不少语言支持的。api
点开c#看见一个很是熟悉的驱动StackExchangeapp
只怪本身一开始选择了最熟悉的这个驱动,其实若是选择Servicestack的话应该会好一点工具
https://www.nuget.org/packages/StackExchange.Redis/1.2.6开发工具
我在nuget中找到了这个驱动的相关说明,发现只支持.net standard不知道安装到.net core app项目中会不会有什么问题,不过不要紧还好以前对.net standard有一点点了解。.net
其实很简单,就是建立一个类库,类库的类型选择.net standard而不是.net core的就好了。插件
因为我用的开发工具不是visual studio而是visual studio code,因此我能够在终端里使用dotnet cli命令.code
因而我在项目的同级补录建立了一个文件夹,cd进去以后输入dotnet cli命令:
dotnet new class
稍等片刻,在这个文件夹下就建立完成了一个类库。
打开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了解的还很好,若是有大神偶遇,请多指教:)