引子

为什么写这篇文章呢?因为.NET Core的生态越来越好了!之前玩转.net的时候操作Redis相信大伙都使用过一些组件,但都有一些缺点,如ServiceStack.Redis 是商业版,免费版有限制;StackExchange.Redis 是免费版,但是内核在 .NETCore 运行时经常有 Timeout的问题,暂无法解决;csredis作者在 2014 年以后就没有更新了,它不支持 .net core,但是它的源码可读性很强非常干净,几乎无任何依赖。但是随着.NET Core生态的越来越好,又涌现了一批我们国人开发的支持.Net Core的Redis组件,供我们选择。

  1. NewLife.Redis 他是NewLife团队开发的,已经在ZTO大数据实时计算中广泛应用,200多个Redis实例稳定工作一年多,每天处理近1亿包裹数据,日均调用量80亿次。

  2. CSRedis (这里我更喜欢把它叫做CSRedisCore)这是另一个国内大牛nicye 开发的,为人很低调,所以了解他的人很少!目前我项目中广泛使用的也是这个。作者前不久刚做了一个几大Redis组件的性能测试.net core 2.0 redis驱动性能比拼 有兴趣的可以打开链接看一下。

    注:此CSRedis(今天本文的主角CSRedisCore) 非彼CSRedis(.net 时代的组件,很久没更新了,不支持.net core)

NewLife.Redis的使用方法在前两天的Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)文章中已经分享了!文章也有视频教程。所以今天的文章将介绍另一个玩转Redis的神器-CSRedis了!

基本使用

CSRedisCore的使用很简单,就需要实例化一个CSRedisClient(集群连接池)对象然后初始化一下RedisHelper就可以了,他的方法名与redis-cli基本保持一致。所以说你可以像使用redis-cli命令一样来使用它。作者最近也支持了Pipeline功能以及MGet,MSet等提高效率的功能!话不多少下面我们将通过一个个实例来看下他的操作吧。

简单使用

  1. 获取Nuget包(目前版本3.0.18)!哈,没错,使用前要通过Nuget来安装下引用,什么?你不知道怎么使用Nuget包?对不起,右上角点下“X” 关掉网页就可以了。

    nuget Install-Package CSRedisCore
  2. 几种启动模式介绍:

  • 普通模式:

var csredis = new CSRedis.CSRedisClient("127.0.0.1:6379,password=123,defaultDatabase=13,poolsize=50,ssl=false,writeBuffer=10240,prefix=key前辍");
  • 官方集群模式:假设你已经配置好 redis-trib 集群,定义一个【普通模式】的 CSRedisClient 对象,它会根据 redis-server 返回的 MOVED | ASK 错误记录slot,自动增加节点 Nodes 属性。

127.0.0.1:6379,password=123,defaultDatabase=0,poolsize=50,ssl=false,writeBuffer=10240,prefix=

其他节点在运行过程中自动增加,确保每个节点密码一致。

警告:本模式与【分区模式】同时使用时,切记不可设置“prefix=key前辍”(或者全部设置成一样),否则会导致 keySlot 计算结果与服务端不匹配,无法记录 slotCache。

注意:官方集群不支持多 keys 的命令、【管道】、Eval(脚本)等众多杀手级功能。

  • 分区模式:本功能实现多个服务节点分担存储(作者自己实现的一种方式),与官方的分区、集群、高可用方案不同。

例如:缓存数据达到500G,如果使用一台redis-server服务器光靠内存存储将非常吃力,使用硬盘又影响性能。
可以使用此功能自动管理N台redis-server服务器分担存储,每台服务器只需约 (500/N)G 内存,且每台服务器匀可以配置官方高可用架构。

今天我只给大家演示怎么来进行使用,所以采用了普通模式,代码如下所示:

  1. 通过上面的代码大家可以看到对于Redis的操作都是使用RedisHelper这个类来实现的。而且,对Redis的所有操作名称都跟Redis-Cli命令高度一致!这样就会方便很多!同时对所有的方法在实现上都有同步异步的操作!这里建议进行Redis操作的话都尽量使用同步操作。原因在上篇也进行了介绍!这里就不再次进行介绍了!。

  2. 执行的结果如下所示:

大#家可以摘录代码然后拷贝到一个新的控制台程序中运行即可!

高级使用

上面给大家介绍了一些通用的使用方法,接下来呢我们进行一些高级方法的使用。包括订阅/发布,PipeLine,缓存壳等等。

订阅与发布

Pipeline及MGet,MSet

使用管道模式,打包多条命令一起执行,从而提高性能。

压力测试对比

到这里你可能要问了,CSRedisCore性能如何呢?跟其他的Redis组件相比又如何呢、这里给出一个链接.net core 2.0 redis驱动性能比拼?.net core 2.0 redis驱动性能比拼,上面有作者做的测试,大伙可以看下,我也做个截图分享

作者交流群

作者交流QQ群:8578575

总结

今天给大家介绍了.NET Core玩转Redis的又一傻瓜式神器CSRedisCore的使用,由于篇幅有限,所以还有很多方法没有进行演示。大伙可以按照本文的方法自行进行测试!(基本RedisCli里面有的命令,都有对应的方法实现!)看到.net core的生态越来越好!有很多优秀的工具以及框架在开源!作为.net Corer的你开森嘛?

相关文章:

  • Redis基本使用及百亿数据量中的使用技巧分享

  • Redis 实战之主从复制、高可用、分布式

  • StackExchange.Redis性能调优

  • .net core redis 驱动推荐,为什么不使用 StackExchange.Redis

  • 使用WeihanLi.Redis操作Redis

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

  • .NetCore+Jexus代理+Redis模拟秒杀商品活动

原文地址: https://www.cnblogs.com/yilezhu/p/9947905.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

.NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐相关推荐

  1. Bitcoin Core开发者:提倡使用信用卡进行日常开销而非比特币

    Bitcoin Core开发者Jimmy Song提出,比特币爱好者最好使用信用卡作为支付手段,这引发了巨大的争议.他将这种策略描述为"比多个链上交易更合理.更方便".他的建议与比 ...

  2. python的jupyter的使用教程-强大的jupyter,python开发者的福音

    jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 一.安装 pip3 i ...

  3. Felgo简介--Qt开发者的福音

    前言 在12月2号,Qt首次发布了Marketplace,然后在逛Marketplace的时候发现了一个非常有用的东西,看完其介绍过后,欣喜若狂,简直相见恨晚,这玩意儿就是 Felgo.所以,必须在这 ...

  4. 超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本

    超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本 前言 上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上d ...

  5. ASP.NET Core开发者成长路线图

    来源: MoienTajik/AspNetCore-Developer-Roadmap. 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的 ...

  6. 一个.NET Core开发者的Linux入门学习笔记

    用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博 ...

  7. 千百万Java开发者的福音:跨平台Cocos2d-Java游戏引擎诞生

    传送门 CocosEditor官网:http://cocoseditor.com/ 引擎工具下载及配置:Cocos2d-Java游戏引擎和相关开发工具的安装配置 前言 跨平台Cocos2d-Java游 ...

  8. 怎么开发联机小游戏_惊!!!个人游戏开发者的福音来了!

    Creator游戏社区又来一位伙伴「烟雨星空」,本文是由他为大家带来的10月19日[腾讯云沙龙▪北京站]现场报到. 最近几天,一直被张哥(公众号:Creator星球游戏开发社区)安利去看腾讯云在北京举 ...

  9. 小麦移动广告平台:开发者的福音

    小麦移动广告平台:开发者的福音 小麦网总部位于美国加州的圣荷塞市,与2011年底登陆中国.小麦网拥有先进的核心技术及完整的知识产权,已与众多知名的传统或新型互联网公司结成战略伙伴,如:Tencent. ...

最新文章

  1. java 线程安全的原因_Java并发编程——线程安全性深层原因
  2. 如何利用计算机做主题模型,利用概率主题模型的微博热点话题发现方法-计算机系统应用.PDF...
  3. Android 多线程之Handler
  4. AtCoder Regular Contest 120 C - Swaps 2 线段树模拟
  5. android之视频直播与播放Vitamio
  6. 2022年最值得学习的 5 种编程语言,你有在学习吗?
  7. ESP8266学习笔记6:ESP8266规范wifi连接操作
  8. 文本分类--情感分析
  9. python金融数据怎么获取_class类怎样在python中获取金融数据?
  10. (13)ISE14.7bit文件生成mcs文件(FPGA不积跬步101)
  11. fj怎么样_评测:丰田FJ 酷路泽动力及性能怎么样是否值得入手
  12. systemctl/systemd 常用命令
  13. linux hping3命令,系列H - hping3 - 测试网络及主机的安全 - 《Linux命令大全》 - 技术池(jishuchi.com)...
  14. javacpp 人脸_javacv实现人脸检测
  15. 在企业ceph运维中问题处理解决方案---持续更新
  16. 查手机服务器ip和端口网站,如何查询服务器ip地址和端口号
  17. 服务器怎么使自己的文件夹加密,NAS中如何创建和使用加密文件夹
  18. python股票网格交易法详解_我的选股方法 大家好,我是阿兰,一个将网格交易法应用于股票的人。昨天我给大家介绍了我的网格交易体系,并简单说明了我的选股方法,今天我将... - 雪球...
  19. Axure 初学者必看:自学 Axure 需要花多长时间?
  20. 服装商城网站 毕业设计-附源码241505

热门文章

  1. c语言如何创建虚拟串口,模拟串口的C语言源程序代码
  2. Jmeter HTTP请求后响应数据显示乱码解决方法
  3. Cocos Creator Ui系统
  4. ResourceManager中的Resource Estimator框架介绍与算法剖析
  5. C++获取本机的ip地址程序
  6. 消息队列入门(三)JMS标准及实现
  7. 书生云王东临:真正的超融合产品要像“机器猫” 开箱即用
  8. Start vm by command line
  9. 2016年工作总结和计划
  10. Appointment over SMS on Windows Mobile