redis基本用法学习(C#调用CSRedisCore操作redis)

  除了NRedisStack包,csredis也是常用的redis操作模块(从EasyCaching提供的常用redis操作包来看,CSRedis、freeredis、StackExchange.Redis应该都属于常用redis操作模块),本文学习使用C#调用CSRedis包操作redis的基本方式。
在这里插入图片描述
  CSRedis中的CSRedisClient和RedisHelper类的函数名与以redis-cli形式操作redis的所有命令相同,便于用户查找和调用所需函数。同时CSRedis支持redis集群、哨兵模式、主从模式等。CSRedis模块主要包括两个包,CSRedisCore包中包括CSRedisClient、RedisHelper类等基本操作类,Caching.CSRedis中为分布式缓存 CSRedisCore 实现 Microsoft.Extensions.Caching,本文中主要使用CSRedisCore。
在这里插入图片描述
  新建Winform项目,在Nuget包管理器中搜索并安装CSRedisCore包,如下图所示:
在这里插入图片描述
  使用CSRedisClient类连接redis服务,其构造函数如下所示:
在这里插入图片描述
  本文中使用最简单的输入连接字符串的构造函数,其连接字符串形式如下所示,除了ip和端口,其它参数按需添加,所有参数及其说明如下图所示:

ip:port,param1=value1,param2=value2,param3=value3...

在这里插入图片描述
  CSRedisClient中提供的函数与redis官网文档中各数据类型的名称对应(与NRedisStack不同,后者不同类型的函数前都带有类型名称),绝大部分命令都有对应的函数,不过没有找到名为decr的函数,暂不清楚没有还是名称变了。
在这里插入图片描述
  测试代码比较简单,与上一篇文章中的代码类似,差别仅是调用函数的名称不同,主要代码如下:

private void btnSet_Click(object sender, EventArgs e)
{if (string.IsNullOrEmpty(txtSeconds.Text)){m_csredis.Set(txtKey.Text, txtValue.Text);}else{m_csredis.Set(txtKey.Text, txtValue.Text, new TimeSpan(0, 0, Convert.ToInt32(txtSeconds.Text)));}
}private void btnGet_Click(object sender, EventArgs e)
{if (!m_csredis.Exists(txtKey1.Text)){MessageBox.Show("不存在指定key:" + txtKey1.Text);return;}MessageBox.Show(m_csredis.Get(txtKey1.Text));
}private void btnCheck_Click(object sender, EventArgs e)
{lstResult.Items.Clear();string[] result = m_csredis.Keys(txtPattern.Text);if (result != null){txtResult.Lines = result;foreach (string s in result){ListViewItem lvi = new ListViewItem(s);lvi.SubItems.Add(m_csredis.Get(s));lstResult.Items.Add(lvi);}}
}

  最后是程序运行效果,如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献:
[1]https://github.com/dotnetcore/EasyCaching
[2]https://github.com/2881099/csredis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简明Python教程学习笔记_3_模块

模块 如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块。模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。 pyt…

python: 使用socket实现局域网不同主机通信。解决ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

目录1 socket的使用1.1 TCP方法1.2 UDP方法2 局域网内连接2.1总结1 socket的使用 1.1 TCP方法 在socket中使用socket.socket建立会话,如果是服务器,需要绑定服务器地址和端口号,然后进行循环监听,当有客户端连接时再接收数据。 …

德勤:2018年科技、传媒和电信行业未来趋势预测

来源:亿欧近日,德勤发布了《2018科技、传媒和电信行业预测》报告,对世界与中国的科技、传媒和电信行业在未来1-5年的趋势进行了预测。该报告通过与世界各国行业主管和评论家的数百场访谈及对世界各地数万名消费者进行的调查,分析了…

python: SHA256算法的实现和消息的哈希散列值计算

目录1 SHA2562 实现原理2.1 消息预处理2.2 使用的常量和循环移位函数2.3 主循环3 结果4 对中文编码1 SHA256 SHA256是SHA-2下的一个子算法,与之类似的还有SHA224、SHA384、SHA512,算法原理基本一致。 哈希算法通过对消息进行计算,生成一定长…

财报上的云计算战场: 巨头们垄断加剧

来源: 第一财经一周之内,四大云业务巨头公司前后脚发布财报。亚马逊的云业务(AWS)依然跑在了最前面,以174亿美元排在首位。微软、谷歌、阿里巴巴也没有放慢步伐。阿里云去年累计的营收超过了百亿;微软的Azu…

python实现RSA算法,对数据进行加密认证

RSA算法RSA一、数学原理二、实现代码1 生成素数2 生成秘钥3 对数据进行加密、解密总结RSA RSA是一种非对称加密体制,由公钥和私钥组成,数学原理是实数域的模余法。在使用私钥对数据进行加密后,可用公钥对数据进行解密。 在RSA算法中&#xf…

他研究了5000家AI公司,说人工智能应用该这么做!

来源:公众号InfoQ编辑:陈思 Eva;视频剪辑:汪春良 概要:本文作者 Henry Shi是美国人工智能的博士,连续创业者,专注于 AI 领域的早期投资(AI List Capital管理合伙人)。无…

简明Python教程学习笔记_6_面向对象编程

面向对象编程:https://www.liaoxuefeng.com/wiki/897692888725344/923030496738368面向对象高级编程:https://www.liaoxuefeng.com/wiki/897692888725344/9230305380126401、类、对象 类 和 对象 是面向对象编程的两个主要方面。 类 是创建一个 新类型&a…

哈希值+非对称加密+网络+数字签名,你真的知道怎么给游戏充钱吗

前文 使用socket实现局域网不同主机通信 SHA256算法的实现和消息的哈希散列值计算 python实现RSA算法,对数据进行加密认证 文章目录数字签名与认证攻击类型算法选择实现流程总结数字签名与认证 什么是数字签名? 签名我们大家都知道,A在纸上签…

2017 年脑机接口研发热点回眸

来源:科技导报概要:脑机接口(brain-computer interface,BCI)通过解码人类思维活动过程中的脑神经活动信息,构建大脑与外部世界的直接信息传输通路,在神经假体、神经反馈训练、脑状态监测等领域有…

地牢房间迷宫走廊生成(二),Python实现洪水法、完美迷宫

文章目录前言1 随机房间和房门2 生成走廊2.1生成迷宫2.4 使用循环改进2.3 走廊缩减2.3 走廊再简化总结前言 前面通过随机房间、房门,对房门寻路生成走廊。由于使用A星算法,寻到的是最短路径,这样生成的走廊过直和简单。如果需要生成弯曲的走廊…

Introduce Parameter Object(引入参数对象)

某些参数总是很自然地同时出现 重构:以一个对象取代这些参数

深度解析,马斯克最新发射的先进火箭

来源:环球时报概要:就在几个小时前,美国人成功发射了目前全世界运载能力最强的超级火箭——“猎鹰重型”。就在几个小时前,美国人成功发射了目前全世界运载能力最强的超级火箭——“猎鹰重型”。虽然中芯级火箭在回收过程中坠毁&a…

技术专栏 | 两万字深度长文!从原理到趋势 解剖风口上的区块链技术

来源:芯师爷概要:区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码学的共享账本、共识机制、智能合约等技术。区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码…

Python 进阶

​Python 进阶:https://eastlakeside.gitbook.io/interpy-zh/ Python 经典教程 专题 系列:https://www.jb51.net/Special/520.htm Python 黑魔法指南:https://magic.iswbm.com/ Python 中文指南:https://python.iswbm.com/ Python…

2018年中国65家机器人产业园布局与规划汇总盘点

来源:机器人创新生态概要:“机器人换人”大潮下,中国已连续两年坐上世界机器人最大消费国的宝座,根据国际机器人联合会(IFR)发布的数据,2016年中国工业机器人的销量为9万台,同比增长…

人工智能与经济学:关于近期文献的一个综述

来源:财新网概要:相比于之前的历次技术进步,“人工智能革命”所引发的冲击更为巨大,其对经济学造成的影响也将更为广泛和深远。人工智能技术的突飞猛进,对经济社会的各个领域都产生了重大影响,这种影响当然…

Pull Up Field(字段上移)

两个子类拥有形同的字段 重构:将该字段移至超类

DeepMind推出分布式深度强化学习架构IMPALA,让一个Agent学会多种技能

维金 编译自 DeepMind Blog量子位 出品 | 公众号 QbitAI目前,深度增强学习(DeepRL)技术在多种任务中都大获成功,无论是机器人的持续控制问题,还是掌握围棋和雅达利的电子游戏。不过,这些方面的进展仅限于孤…

AAAI2018正式落幕 13个世界顶尖AI教授都讲了啥?

来源:智东西概要:2月8日消息,第32届AAAI大会在美国新奥尔良正式闭幕。2月8日消息,第32届AAAI大会在美国新奥尔良正式闭幕。本次大会不仅颁发了最佳论文奖、最佳学生论文奖、经典论文将等一系列奖项。作为顶级学术会议之一&#xf…