.net core 使用 redis

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

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

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

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

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

只怪自己一开始选择了最熟悉的这个驱动,其实如果选择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了解的还很好,如果有大神偶遇,请多指教:)

.net core 使用 redis的更多相关文章

  1. asp.net core 使用 Redis 和 Protobuf

    asp.net core 使用 Redis 和 Protobuf 前言 上篇博文介绍了怎么样在 asp.net core 中使用中间件,以及如何自定义中间件.项目中刚好也用到了Redis,所以本篇就介 ...

  2. .net core 使用Redis的发布订阅

    Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心.接下来介绍一下.net core 使用 ...

  3. ASP.NET Core 使用 Redis 客户端

    Mac OS 安装 Redis(用于连 Redis 服务器,方便查看数据):https://redis.io/topics/quickstart wget http://download.redis. ...

  4. ASP.NET Core 使用 Redis 实现分布式缓存:Docker、IDistributedCache、StackExchangeRedis

    ASP.NET Core 使用 Redis 实现分布式缓存:Docker.IDistributedCache.StackExchangeRedis 前提:一台 Linux 服务器.已安装 Docker ...

  5. asp.net Core 使用redis(StackExchange.Redis)

    原文:asp.net Core 使用redis(StackExchange.Redis) 一.添加配置(appsettings.json) "Redis": { "Def ...

  6. ASP.NET Core 使用 Redis 和 Protobuf 进行 Session 缓存

    前言 上篇博文介绍了怎么样在 asp.net core 中使用中间件,以及如何自定义中间件.项目中刚好也用到了Redis,所以本篇就介绍下怎么样在 asp.net core 中使用 Redis 进行资 ...

  7. Asp.net Core 使用Redis存储Session

    前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware). 对于Session来说褒贬不一, ...

  8. asp.net core 运用 Redis 配置步骤

    Redis可以用来存储session或直接存储键值对 首先要有asp.net core的项目,可以是webapi 或者MVC项目,还有有本地的Redis或者在远程服务器上,具体的安装就不讲述了 以下是 ...

  9. .Net Core下 Redis的String Hash List Set和Sorted Set的例子

    1.新建一个.Net Core控制台应用程序,用Nuget导入驱动 打开程序包管理控制台, 执行以下代码. PM> Install-Package ServiceStack.Redis 即可添加 ...

随机推荐

  1. 引用变量类型的加载顺序(类名+引用名=new +类名();)

    程序如下: 运行结果如下: 以上结果说明:同一个引用名称(可以把它当做变量的一种类型)可能指代不同的对象,依据同一个引用是否处于同一个初始化的层次,决定是否在完成: static Cup c1=new ...

  2. string ids=aduuids.Aggregate("", (m, n) => m + n+",").TrimEnd(',');

    string ids=aduuids.Aggregate("", (m, n) => m + n+",").TrimEnd(',');

  3. python 爬虫气象气象定时报 气象预警推送

    "2018-04-09 14时""长沙市""10日(明天)""多云转雷阵雨""29℃""1 ...

  4. Input设置只读属性

    input设置为只读一般用于查看详情: 格式为: (1)单纯的input框 <div class="form-group"> <label for="c ...

  5. Unity XLua 官方案例学习

    1. Helloworld using UnityEngine; using XLua; public class Helloworld : MonoBehaviour { // Use this f ...

  6. HTTP请求出现405状态码method not allowed的解决办法

    httppost请求目标网站出现405状态码, 原因为 Apache.Nginx.IIS等绝大多数web服务器,都不允许静态文件响应POST请求所以将post请求改为get请求即可

  7. MYISM表并发写请求过多 导致无法被读取解决方案

    MyISAM锁调度是如何实现的呢,这也是一个很关键的问题.例如,当一个进程请求某个MyISAM表的读锁,同时另一个进程也请求同一表的写锁,此时MySQL将会如优先处理进程呢?通过研究表明,写进程将先获 ...

  8. 查看linux服务器状态常用命令

    最近发现大数据技术的一些部署.高可用.集群等和网站的负载均衡.自动化运维.灾备等其实有很多知识都是重合的,要学好linux运维相关,在大数据的研究上也会有所提高.既然工作需要去系统的去学习linux运 ...

  9. 打开Android Studio时报Unable to access Android SDK add-on list

    第一次安装Android studio时候弹出unable to access android sdk add-on list原因是你电脑没有SDK而且你下载的android studio又是不带SD ...

  10. 百度地图point 转化成经纬度

    百度1.0表示的坐标点,直接在1.3的api上使用坐标无法定位,研究了一阵子百度拾取坐标系统的源码才知道,原来1.0的point是Pixel,调用js的转化代码就搞定了 转化方法如下: var b = ...