前言

.NETCore 从1.0发布历经坎坷,一开始各种库缺失到现在的部分完善,走到今天实属不易。

比如 redis-cli SDK 简直是坑出不穷。

过去 .net 最有名望的 ServiceStack.Redis 早已沦为商业用途,在 .NETCore 中使用只能充值;
后来居上的 StackExchange.Redis 虽然能用,但线上各种 Timeout 错误把人坑到没脾气,两年多两年多两年多都不解决,最近 StackExchange.Redis 2.0 已经解决了timeout的问题。

csredis v3.0.0 更新

1、所有方法名与redis-cli保持一持;

据了解,java/python/go/nodejs/php SDK 方法名基本都与 redis-cli 一致,反对二次命名的库

2、增加反序列对象获取,如:Get<byte[]>、HGet<byte[]>,所有获取方法都重载了,默认获取仍然是string;

3、SafeObjectPool 的引入使用;

使用

nuget Install-Package CSRedisCore

var rds = new CSRedis.CSRedisClient("127.0.0.1:6379,password=123,defaultDatabase=13,poolsize=50,ssl=false,writeBuffer=10240,prefix=key前辍");
rds.Set("test1", "123123", 60);
rds.Get("test1");//函数名与 redis-cli 的命令相同,rds 一定是单例单例单例

高级玩法:分区

现实多个服务节点共同分担存储,与官方的分区、集群、高可用方案不同。

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

var rds = new CSRedis.CSRedisClient(null,  "127.0.0.1:6371,password=123,defaultDatabase=11,poolsize=10,ssl=false,writeBuffer=10240,prefix=key前辍", "127.0.0.1:6372,password=123,defaultDatabase=12,poolsize=11,ssl=false,writeBuffer=10240,prefix=key前辍",  "127.0.0.1:6373,password=123,defaultDatabase=13,poolsize=12,ssl=false,writeBuffer=10240,prefix=key前辍",  "127.0.0.1:6374,password=123,defaultDatabase=14,poolsize=13,ssl=false,writeBuffer=10240,prefix=key前辍");//实现思路:根据key.GetHashCode() % 节点总数量,确定连向的节点//也可以自定义规则(第一个参数设置)rds.MSet("key1", 1, "key2", 2, "key3", 3, "key4", 4);
rds.MGet("key1", "key2", "key3", "key4");

高级玩法:发布订阅

高级玩法:缓存壳

高级玩法:管道

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

高级玩法:多数据库

如果确定一定以及肯定非要有切换数据库的需求,请看以下代码:

性能比拼

结尾

依然是支持开源,感谢观看!

csredis 源码地址: https://github.com/2881099/csredis

原文地址:https://www.cnblogs.com/kellynic/p/9803314.html

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

.NETCore 简单且高级的库 csredis v3.0.0相关推荐

  1. VC皮肤库SkinCrafter v3 4 0 0使用

    皮肤界面制作工具.可以自定义皮肤的组件库,它可以使你的程序具有换肤功能,拥有最独特的外观风格.支持所有的Win32平台,包括.NET.支持常用的编程语言,包括VC++,VB,Delphi,微软form ...

  2. VC皮肤库SkinCrafter.v3.4.0.0使用

    皮肤界面制作工具.可以自定义皮肤的组件库,它可以使你的程序具有换肤功能,拥有最独特的外观风格.支持所有的Win32平台,包括.NET.支持常用的编程语言,包括VC++,VB,Delphi,微软form ...

  3. STM32之启动文件详细解析(V3.5.0)

    启动文件么,就是进入main函数(其实可以在本文件中改成别的,即替换"_main"为你想改的"_XXXX"即可)之前干的一些事--- 来看看ARM在进入的&qu ...

  4. Coravel是.NetCore中开源的工具库,可以让你使用定时任务,缓存,队列,事件,广播等高级应用程序变得轻而易举!...

    Coravel Coravel是.NetCore中开源的工具库,可以让你使用定时任务,缓存,队列,事件,广播等高级应用程序变得轻而易举! Coravel 帮助开发人员在不影响代码质量的情况下快速启动和 ...

  5. 编写XML作为配置文件的高级操作库

    编写XML作为配置文件的高级操作库 yipsilon 原创  (参与分:293,专家分:180)   发表:2003-7-29 下午4:26   更新:2003-7-30 上午8:30   版本:1. ...

  6. python qt库,用于 Python 的高级 GUI 库(Qt 和 PyQt)(1)Unix系统 -电脑资料

    Qt 工具箱是一个使用广泛的跨平台 GUI 工具箱,可用于 Windows .Linux.Mac OSX 和许多手持平台, Qt 工具箱是一个使用广泛的跨平台 GUI 工具箱,可用于Windows.L ...

  7. 【高级PDF库】上海道宁为您提供先进的.Net库,完全控制您的PDF创建工作流程,在WEB或任何服务器系统上创建动态PDF

    Pdfium.Net SDK是 先进的.Net library 用于生成.操作和查看 可移植文档格式的文件 道宁专注于软件工具经销 为您带来高级PDF库 可完全控制您的PDF创建工作流程 提供高级c# ...

  8. Python 高级可视化库Plotly express使用教程

    本文转载自:Python数据之道,欢迎扫码关注 Plotly Express 入门之路 Plotly Express 是一个新的高级 Python 可视化库:它是 Plotly.py 的高级封装,它为 ...

  9. FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!

    +2016-08-20 v3.2.0+表格增强.+表格列RenderField增加属性ClientHtmlEncode,用于在客户端进行HTML编码.-增加示例:单元格编辑->杂项->客户 ...

最新文章

  1. 使用UDP的简单C/S程序
  2. 老李推荐: 第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动AndroidDebugBridge 2...
  3. 左神算法:判断二叉树是否为平衡二叉树(树形dp套路,Java版)
  4. osg布告板技术(Billboard)
  5. 【今日CV 计算机视觉论文速览 第136期】Wed, 26 Jun 2019
  6. 代写php代码作业,代写phpmyadmin留学生作业、代做SQL语言作业、SQL程序设计作业调试、代做PHP script作业...
  7. 面向对象七大设计原则(转)
  8. 人工智能:一种现代方法 第四版 翻译序言
  9. 黑客动画吧-古墓探险之过关题解
  10. 1.1 爬虫入门介绍
  11. Android局域网工具,局域网内连接Android进行调试
  12. 今日芯声 | 每天徒步7公里找信号?印度不愧是开挂民族
  13. 【键盘】jQuery+CSS3模拟键盘事件(精)
  14. 【计算机网络】4-41假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):
  15. 基于Tensorflow框架的BP神经网络回归小案例--预测跳高
  16. 华为计算机平台芯片,华为连发两款AI芯片,计算力远超谷歌及英伟达
  17. 【编程不良人】快速入门Spring学习笔记08---事务属性、Spring整合Structs2框架(SM)、Spring整合Mybatis+Struts2(SSM)、Spring注解、SSM注解式开发
  18. 考研英语 常见介词词组
  19. 牛视系统源码定制,抖音矩阵系统定制开发。come here
  20. 设计模式-UML类图

热门文章

  1. 浅谈javascript递归(白话版)
  2. bzoj3160(FFT+回文自动机)
  3. DCOS实践分享(6):基于DCOS的大数据应用分享
  4. 【自定义标签开发】01-标签简介和开发第一个标签
  5. 解析super-smack的smack文件
  6. Oracle 常用sql场景应用(未完待续......)
  7. hdu 2579 BFS
  8. Visual Studio 清单(manifest)导致的问题
  9. asp.net core自定义依赖注入容器,替换自带容器
  10. Fiddler抓包一键生成调用代码