.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 即可添加 ...
随机推荐
- ORM sqlachemy
本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping ...
- PackedSyncPtr
folly/PackedSyncPtr.h A highly specialized data structure consisting of a pointer, a 1-bit spin lock ...
- 深入浅出 Java Concurrency (5): 原子操作 part 4 CAS操作
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁). 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度 ...
- php使用curl库进行ssl双向认证
官方文档: http://www.php.net/manual/zh/function.curl-setopt.php#10692 官方举例: <?phpcurl_setopt($ch, CUR ...
- .NET和UNITY版本问题
亲测:unity5.5之前:通过VS工程属性查看.NET版本为3.5, 对应unity中没有可查看的项,只有一个Api Compatibility level 是.net subset2.0,看名字, ...
- eclipse cut copy paste plugin
The Cut Copy Paste Plus plug-in enhances the standard Cut, Copy and Paste commands in Eclipse IDE. W ...
- k8s gpu 资源设置
将所有相同型号显卡的node打上 相同的label kubectl label node ogs-gpu02 gpu_type=k20m 启动device plugin 和app 时: nodeSel ...
- manjaro 下golang protobuf的使用
1.下载protobuf compiler sudo pacman -S protobuf 2.添加环境变量GOBIN export GOBIN=~/go/bin 3.下载golang依赖的包 go ...
- git 本地忽略某些个文件
git update-index --assume-unchanged <要忽略的文件> git update-index --no-assume-unchanged <要取消忽略的 ...
- mysql启动参数 skip-grant-tables
非常有用的mysql启动参数—— --skip-grant-tables. 顾名思义,就是在启动mysql时不启动grant-tables,授权表.有什么用呢?当然是忘记管理员密码后有用. 在mysq ...