首页 > 数据库 >C#中Redis使用简单教程

C#中Redis使用简单教程

时间:2024-05-08 09:33:25浏览次数:24  
标签:教程 name database C# Redis redis new

C#中Redis使用简单教程

Curry30_chen

已于 2024-01-10 13:54:25 修改

阅读量2.9k
收藏 16

点赞数 5
文章标签: c# redis 开发语言
版权

客户端redis-desktop-manager对Redis可视化管理工具

客户端redis-desktop-manager对Redis可视化管理工具

立即下载
C#开发者的Redis入门指南
Redis是一个高性能的内存数据库,常用于缓存、队列、实时数据分析等场景。作为一个C#开发者,了解如何使用Redis可以为你的应用程序带来巨大的好处。本文将向你介绍Redis基本概念,并提供一些C#的代码示例来帮助你入门。

一、Redis简介
Redis是一个开源的高级键值存储系统,可以在内存中存储数据,并通过持久化机制将数据保存到磁盘上。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。它提供了丰富的功能,如发布/订阅、事务、Lua脚本和复制等。

二、安装和配置Redis
在使用Redis之前,首先需要安装Redis服务器。你可以从Redis官方网站(https://redis.io)下载最新版本的Redis并进行安装。

安装完成后,打开Redis的配置文件(redis.conf),根据需要修改一些设置。例如,你可以通过修改"port"字段来更改服务器的监听端口,默认为6379。你还可以配置密码以提高安全性。

三、使用C#连接Redis
在C#中,可以使用StackExchange.Redis库来连接Redis服务器。这是Redis官方推荐的C#客户端库,提供了简单易用的API,可轻松地与Redis进行交互。

首先,你需要安装StackExchange.Redis库。在Visual Studio中,可以通过NuGet包管理器来安装。搜索StackExchange.Redis并选择安装即可。

下面是一个使用C#连接Redis并进行基本操作的示例:

namespace RedisDemo
{
public class Program
{
static void Main(string[] args)
{
//创建连接
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379");
//ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379,password = 123456");

//获取数据库
IDatabase database = redis.GetDatabase();
//IDatabase database = redis.GetDatabase(1);//可以设置想连的redis的哪一个库
//存储键值对
database.StringSet("name", "value1");

//存List<Student>集合

var list = new List<Student>
{
new Student { id = 1, name = "立白", age = 20 },
new Student { id = 2, name = "妄为", age = 40 },
new Student { id = 3, name = "毒妇", age = 60 }
};
foreach (var item in list)
{
var hashEntries = new HashEntry[]
{
new HashEntry("ID", item.id),
new HashEntry("Name", item.name),
new HashEntry("Age", item.age)
};

database.HashSet(item.id.ToString(), hashEntries);
}
database.KeyExpire("1", TimeSpan.FromSeconds(3));//设置键为“1”的那条数据的超时时间:3秒

获取键值对
//var redisValue = database.StringGet("name");
//Console.WriteLine(redisValue.ToString());

删除键值对
//bool result = database.KeyDelete("name");
//var value = database.StringGet("name");
//Console.WriteLine("删除结果:" + result.ToString());

删除键为1,2,3
//database.KeyDelete("1");
//database.KeyDelete("2");
//database.KeyDelete("3");

//关闭redis
redis.Close();
Console.ReadLine();
}
}

public class Student
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; }
}
}

注意: 连接redis时,需要先打开redis-server.exe服务(双击启动服务)

 

双击闪退的时候,需要进入redis目录,输入cmd进入命令窗口。然后输入redis-server.exe redis.windows.conf回车,redis服务端就启动成功了(命令窗口关闭后服务也会关闭)

服务闪退原因参考:https://blog.csdn.net/SurepMan/article/details/131569019

 

四、Redis的应用场景
缓存:将常用的数据存储在Redis中,可以大大提高访问速度和系统吞吐量。
队列:使用Redis的列表数据结构,可以实现简单而高性能的消息队列。
实时数据分析:通过Redis的有序集合等数据结构,实现对实时数据的快速分析和查询。
分布式锁:利用Redis的原子操作,可以实现简单而高效的分布式锁机制。
五、Redis桌面管理工具
可以安装客户端 redis-desktop-manager对Redis可视化管理

 

Redis开机自启设置:redis-server --service-install redis.windows-service.conf(进入redis目录,输入cmd进入命令窗口,然后输入此指令)
参考: https://blog.csdn.net/qq_38398634/article/details/110245754

六、总结
详细数据类型存储可以参考:https://www.cnblogs.com/wl-blog/p/17260810.html

客户端 redis-desktop-manager对Redis可视化管理在文章顶部资源即可下载,也可以去官网下载。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_57242877/article/details/133988315

标签:教程,name,database,C#,Redis,redis,new
From: https://www.cnblogs.com/dcpower/p/18178979

相关文章

  • Windows下使用ONNXRuntime的GPU进行推理时提示cudnn64_8.dll异常
    一、问题复现将模型放到GPU上推理时时发生的异常。OrtSessionOptionsAppendExecutionProvider_CUDA(session_options,0);...ort_outputs=session_.Run(Ort::RunOptions{nullptr},inputNames.data(),&input_tensor_,1,outNames.data(),outNames.size());二、解......
  • 入门Semantic Kernel:OneApi集成与HelloWorld
    引言从这一章节开始正式进入我们的SemanticKernel的学习之旅了。什么是SemanticKernel?SemanticKernel是一个轻量级的开源框架,通过SemanticKernel可以快速使用不同编程语言(C#/Python/Java)结合LLMs(OpenAI、AzureOpenAI、HuggingFace等模型)构建智能应用,简化将人......
  • 轻量化城市三维模型CIM的主要技术方法
    轻量化城市三维模型CIM的主要技术方法 城市三维模型CIM(CityInformationModeling)是在数字化时代中,为城市规划、管理和可视化提供重要支持的关键工具。然而,大规模的城市模型往往具有复杂的几何结构和庞大的数据量,给数据存储、计算和可视化带来了挑战。为了解决这个问题,轻量化......
  • 一个小工具识别哪个docker占用gpu
    我们经常会为了组内谁在占用某块gpu卡而不使用烦恼,通过简单的代码就能快速识别到这块卡上面的进程是哪个容器的。下面的代码会给出如下图这样的结果#!/miniconda3/bin/python#-*-coding:utf-8-*-importpsutilimportsubprocessasspdefpre():ans=sp.che......
  • python-设计异常处理类Cexception,并基于异常处理类设计并实现日期类Date
    【题目描述】定义一个异常类Cexception解决日期类实现中的自定义异常处理。设计的日期类应包含以下内容:① 有三个成员数据:年、月、日;② 有设置日期的成员函数;③ 有用格式"月/日/年"输出日期的成员函数;④ 要求在日期设置及有参构造函数中添加异常处理。【源代码程序......
  • 从零手写实现 tomcat-03-基本的 socket 实现
    创作缘由平时使用tomcat等web服务器不可谓不多,但是一直一知半解。于是想着自己实现一个简单版本,学习一下tomcat的精髓。系列教程从零手写实现apacheTomcat-01-入门介绍从零手写实现apacheTomcat-02-web.xml入门详细介绍从零手写实现tomcat-03-基本的socket实......
  • 在Linux中,什么是CI/CD,并且如何在Linux中实现它。
    CI/CD代表持续集成(ContinuousIntegration)和持续部署(ContinuousDelivery)/持续部署(ContinuousDeployment),是现代软件开发中的一套最佳实践,旨在加速软件开发流程,提高软件质量和团队生产力。1.什么是CI/CD?CI/CD是持续集成(ContinuousIntegration)和持续部署(ContinuousDeployment)......
  • 在Linux中,如何使用perf和DTrace进行性能分析。
    perf和DTrace是两个强大的工具,它们用于Linux系统的性能分析和故障排除。下面将分别介绍如何在Linux中使用这两个工具。1.使用perf进行性能分析perf是Linux内核的一个性能分析工具,它提供了对系统调用、内核函数和硬件性能计数器的深入洞察。以下是使用perf的一些基本步骤:安装......
  • 华为云开发者桌面全新发布CodeArts IDE for Python,极致优雅云原生开发体验
    本文分享自华为云社区《华为云发布CodeArtsIDEforPython,极致优雅云原生开发体验》,作者:华为云头条。近日,华为云正式发布CodeArtsIDEforPython,这是一款内置华为自主创新的Python语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越Python编码体验......
  • Oracle update语句引起大量业务卡顿
    记一次update语句引起大量业务卡顿分析处理过程,聊聊我的思路。技术人人都可以磨炼,但处理问题的思路和角度各有不同,希望这篇文章可以抛砖引玉。以一个例子为切入点一、问题背景某业务模块反馈最近出现过几次业务卡顿,数据库中定位到有几个insertinto语句的gc等待比较严重,虽然......