.net core 使用 redis
.net core 使用 redis
个人感觉.net core 对于微软技术而言有很重要的意义 ,所以最近已有时间就想看一看关于.net core 的文章。
今天我就来写一写如何在.net core 环境中使用redis。
https://redis.io/clients 这个是redis的客户端支持地址
看见redis的客户端有很多语言支持的。

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

只怪自己一开始选择了最熟悉的这个驱动,其实如果选择Servicestack的话应该会好一点
创建redis工具类
我在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了解的还很好,如果有大神偶遇,请多指教:)
.net core 使用 redis的更多相关文章
- asp.net core 使用 Redis 和 Protobuf
asp.net core 使用 Redis 和 Protobuf 前言 上篇博文介绍了怎么样在 asp.net core 中使用中间件,以及如何自定义中间件.项目中刚好也用到了Redis,所以本篇就介 ...
- .net core 使用Redis的发布订阅
Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心.接下来介绍一下.net core 使用 ...
- ASP.NET Core 使用 Redis 客户端
Mac OS 安装 Redis(用于连 Redis 服务器,方便查看数据):https://redis.io/topics/quickstart wget http://download.redis. ...
- ASP.NET Core 使用 Redis 实现分布式缓存:Docker、IDistributedCache、StackExchangeRedis
ASP.NET Core 使用 Redis 实现分布式缓存:Docker.IDistributedCache.StackExchangeRedis 前提:一台 Linux 服务器.已安装 Docker ...
- asp.net Core 使用redis(StackExchange.Redis)
原文:asp.net Core 使用redis(StackExchange.Redis) 一.添加配置(appsettings.json) "Redis": { "Def ...
- ASP.NET Core 使用 Redis 和 Protobuf 进行 Session 缓存
前言 上篇博文介绍了怎么样在 asp.net core 中使用中间件,以及如何自定义中间件.项目中刚好也用到了Redis,所以本篇就介绍下怎么样在 asp.net core 中使用 Redis 进行资 ...
- Asp.net Core 使用Redis存储Session
前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware). 对于Session来说褒贬不一, ...
- asp.net core 运用 Redis 配置步骤
Redis可以用来存储session或直接存储键值对 首先要有asp.net core的项目,可以是webapi 或者MVC项目,还有有本地的Redis或者在远程服务器上,具体的安装就不讲述了 以下是 ...
- .Net Core下 Redis的String Hash List Set和Sorted Set的例子
1.新建一个.Net Core控制台应用程序,用Nuget导入驱动 打开程序包管理控制台, 执行以下代码. PM> Install-Package ServiceStack.Redis 即可添加 ...
随机推荐
- aix操作系统的版本中TL SP 含义
AIX 分为四个主要的操作系统级别:版本.发行版.技术级 (TL) 和服务包 (SP).版本和发行版通常指的是 AIX 的名称,例如AIX 7.1.TL 是包含重大更新的操作系统的发行版,而 SP 包 ...
- virtual box 桥接模式(bridge adapter)下无法获取ip(determine ip failed)的解决方法
google出来的解决方案:创建静态ip的方法,既然虚拟机桥接模式下无法通过主机网卡获取ip桥接到网络,那么我们就创建最大网络地址,然后reboot,这样虚拟机就可以获取ip联网了. Static I ...
- Android中的WebView进行直接加载网页(要注意解决权限问题)
我们都知道Android的网络功能很不错,当然Android中WebView组件也挺不错,可以直接进行加载网页,我们可以把这个看做一个小型的浏览器\ [注]以下的一些内容我翻译了一下文档,可能有些翻译 ...
- C#抽象类与接口的区别【转】
一.抽象类: 抽象类是特殊的类,只是不能被实例化(可以用派生类实例化基类对象):除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法(当然它可以有普通方法),这是普通类所不能的.抽象方 ...
- MVC-READ4
internal BuildManagerCompiledView(ControllerContext controllerContext, string viewPath, IViewPageAct ...
- 迷你MVVM框架 avalonjs 沉思录 第2节 DOM操作的三大问题
jQuery之所以击败Prototype.js,是因为它自一开始就了解这三大问题,并提出完善的解决方案. 第一个问题,DOM什么时候可用.JS不像C那样有一个main函数,里面的逻辑不分主次.但JS是 ...
- 前端开发之jQuery位置属性和筛选方法
主要内容: 1.jQuery的位置属性及实例 (1)位置属性 (2)实例 --- 仿淘宝导航栏 2.jQuery的筛选方法及实例 (1)筛选方法 (2)实例一:嵌套选项卡 (3)实例二:小米官网滑动 ...
- S 导员工信息
EXCEL模板 [Public] ConnectString=host="siebel://10.10.1.174:2321/SBA_NR_DEV/SMObjMgr_chs ConnectU ...
- 动量Momentum梯度下降算法
梯度下降是机器学习中用来使模型逼近真实分布的最小偏差的优化方法. 在普通的随机梯度下降和批梯度下降当中,参数的更新是按照如下公式进行的: W = W - αdW b = b - αdb 其中α是学习率 ...
- 107. Binary Tree Level Order Traversal II(Tree, WFS)
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...