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

news2025/1/16 13:41:27

  除了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.coloradmin.cn/o/1331622.html

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

相关文章

【Spring Security】打造安全无忧的Web应用--使用篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Security中的授权是…

阿贝云云服务器

最近,我有幸获得了阿贝云提供的免费云服务器,阿贝云_免费云服务器、高防服务器、虚拟主机、免费空间、免费vps主机服务商!并在使用过程中有了一些深刻的体验和感受。在这篇博客中,我将分享我对阿贝云免费云服务器的使用感受和评价。 首先&am…

【iOS】UICollectionView

文章目录 前言一、实现简单九宫格布局二、UICollectionView中的常用方法和属性1.UICollectionViewFlowLayout相关属性2.UICollectionView相关属性 三、协议和代理方法:四、九宫格式的布局进行升级五、实现瀑布流布局实现思路实现原理代码调用顺序实现步骤实现效果 总…

需求分析工程师岗位的职责描述(合集)

需求分析工程师岗位的职责描述1 职责: 1,负责需求调研,对需求进行分析,编写解决方案、需求规格说明书等 2,根据需求制作原型,并负责原型展示以及客户沟通等工作 3,负责向技术团队精确地传达业务…

排序算法——桶排序

把数据放进若干个桶,然后在桶里用其他排序,近乎分治思想。从数值的低位到高位依次排序,有几位就排序几次。例如二位数就排两次,三位数就排三次,依次按照个十百...的顺序来排序。 第一次排序:50 12 …

Unity手机移动设备重力感应

Unity手机移动设备重力感应 一、引入二、介绍三、测试成果X Y轴Z轴横屏的手机,如下图竖屏的手机,如下图 一、引入 大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体…

EPROM 作为存储器的 8 位单片机

一、基本概述 TX-P01I83 是以 EPROM 作为存储器的 8 位单片机,专为多 IO 产品的应用而设计,例如遥控器、风扇/灯光控制或是 玩具周边等等。采用 CMOS 制程并同时提供客户低成本、高性能等显着优势。TX-P01I83 核心建立在 RISC 精简指 令集架构可以很容易…

SQL优化-深入了解SQL处理流程原理(Server层与存储引擎交互、数据管理结构)

做SQL优化的前提就必须要清楚当一个SQL被发送到Mysql时,它的处理流程。下面通过一个SQL优化分析过程来详细了解Mysql对SQL执行流程原理。 1、Mysql架构 在上篇文章中已经做了简单架构介绍,Mysql架构分为两个大的组件:Server层、存储层 Mysq…

vue3项目 - Eslint 配置代码风格

Eslint 自定义配置 总结: Prettier (代码规范的插件,格式化 )---> 美观 Eslint (规范、纠错、检验错误 )-----> 纠错 首先,禁用 Prettier 插件,安装 ESLint 插件&#x…

【量化金融】证券投资学

韭菜的自我修养 第一章: 基本框架和概念1.1 大盘底部形成的技术条件1.2 牛市与熊市1.3 交易系统1.3.1 树懒型交易系统1.3.2 止损止损的4个技术 第二章:证券家族4兄弟2.1 债券(1)债券,是伟大的创新(2&#x…

案例147:基于微信小程序的酒店管理系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

重构云计算,打造 AI 原生时代的云计算产品与技术体系,实现 AI 零距离

概述 自 ChatGPT 大模型横空出世以来,文心一言、通义千问等诸多大模型接踵而来,感觉这个世界每天都在发生着翻天覆地的变化。 今年很有幸,参与了云栖的盛宴,当时被震惊到瞠目结舌,12 月 20 日百度云智能云智算大会&a…

使用Python自己写了一个Renpy 汉化插件

之前看了很多教程都是Renpy怎么解包、怎么创建翻译文件,对翻译过程没有过多讲解,就根据翻译文件写了一个小程序,如果需要的可以自行下载使用。 使用方法: 1.按照正常unrpa的解包方式renpy进行解包; 2.使用renpy-sdk…

Bloom过滤器

Bloom过滤器 一、概述二、原理三、优缺点1. 优点2.缺点 四、Bloom过滤器在比特币中的应用五、项目应用步骤1. pom.xml引入依赖2. 样例代码 六、Java版简易实现 一、概述 Bloom过滤器是一个允许用户描述特定的关键词组合而不必精确表述的基于概率的过滤方法。它能让用户在有效搜…

新型智慧城市解决方案:PPT全文56页,附下载

关键词:智慧城市解决方案,智慧城市管理技术,智慧城市建设,数字城市建设 一、智慧城市宏观形势 1、政策支持:出台了一系列政策,鼓励和支持智慧城市的发展。这些政策为智慧城市的建设提供了政策保障和资金支…

Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务

10 月 31 日,杭州云栖大会上,阿里云云原生应用平台负责人丁宇宣布,Confluent 成为阿里云技术合作伙伴,合作全新升级,一起拓展和服务亚太市场。 本次合作伙伴签约,阿里云与消息流开创领导者 Confluent 将进一…

Zabbix6 使用Agent2实现证书监控的详细步骤

目标 我们的目标是通过获取网站的证书信息来实现网站证书监控。 使用agent2的key 只需使用其中的key,就能实现我们的目标功能。然而,由于它返回的是json格式的数据,我们需要根据数据来配置监控项目(item)和触发器&am…

Jenkins自动化部署之后端

准备工作参考本人另外几篇Jenkins相关的文章 新建任务 添加参数配置 字符串参数:分支名称 多选框:项目名称(Extended Choice Parameter插件必备,插件安装参考我另外的文章) 这个分割规则自定义。只要根据Jenkins…

Linux Centos-7.5_64bit 系统等保测评内容

一、身份鉴别 a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换 指引:1.观察管理员登录方式。2.查看系统配置,记录配置参数。(more /etc/pam.d/system-auth、more /et…

Conda命令、Miniconda3基础安装使用教程

Conda命令、Miniconda3基础安装使用教程 Minicodna3下载地址:https://docs.conda.io/projects/miniconda/en/latest/index.html 正常安装完毕后,出现conda的控制台: 默认的源下载太慢,换清华源,依次执行以下命令&…