讲师中心 微信公众号
AI工具推荐 视频效率加速

C#怎么操作Redis数据库 C# StackExchange.Redis使用方法

秋辰同学_7591

秋辰同学_7591

发布时间:2025-12-27 13:17:03

|

629人浏览过

|

来源于php中文网

原创

推荐使用 StackExchange.Redis 客户端库操作 Redis,它线程安全、支持连接池与自动重连,应通过单例 ConnectionMultiplexer 管理连接,并用异步 IDatabase 方法操作数据,配合 JSON 序列化存取对象。

c#怎么操作redis数据库 c# stackexchange.redis使用方法

用 C# 操作 Redis,最主流、高性能、推荐的方式就是使用 StackExchange.Redis 客户端库。它线程安全、支持连接池、自动重连(需配置)、支持同步/异步操作,是 .NET 生态中 Redis 的事实标准。

安装 StackExchange.Redis

通过 NuGet 安装:

  • 在 Visual Studio 的“包管理器控制台”中运行:
    Install-Package StackExchange.Redis
  • 或使用 .NET CLI:
    dotnet add package StackExchange.Redis

建立连接与获取数据库实例

StackExchange.Redis 使用 IConnectionMultiplexer 管理连接,它是线程安全的、应全局复用(单例),不要每次操作都新建。

  • 推荐用懒加载或 DI 容器注册为单例
  • 连接字符串示例:"localhost:6379,abortConnect=false,connectTimeout=5000"
  • GetDatabase() 返回 IDatabase 实例,用于执行具体命令(默认 db=0)

简单示例:

jm-jsjkxyjs02-pzl-803
jm-jsjkxyjs02-pzl-803

查询全球任意城市的实时天气和未来天气预报

下载
private static readonly Lazy<ConnectionMultiplexer> LazyConnection = 
    new Lazy<ConnectionMultiplexer>(() => ConnectionMultiplexer.Connect("localhost:6379"));
<p>public static ConnectionMultiplexer Connection => LazyConnection.Value;</p><p>// 获取数据库(可指定 dbIndex)
IDatabase db = Connection.GetDatabase(0);

常用数据类型操作(字符串、哈希、列表、集合等)

所有操作都通过 IDatabase 提供的方法完成,支持同步和异步(推荐异步)。

  • 字符串(String):
    await db.StringSetAsync("name", "Alice");
    string value = await db.StringGetAsync("name");
  • 哈希(Hash):
    await db.HashSetAsync("user:1001", new HashEntry[] { new("name", "Bob"), new("age", "28") });
    var values = await db.HashGetAllAsync("user:1001");
  • 列表(List):
    await db.ListRightPushAsync("tasks", "login");
    string first = await db.ListLeftPopAsync("tasks");
  • 集合(Set):
    await db.SetAddAsync("tags", "redis", "csharp");
    bool exists = await db.SetContainsAsync("tags", "redis");
  • 有序集合(Sorted Set):
    await db.SortedSetAddAsync("leaderboard", new SortedSetEntry("alice", 95.5));
    var top3 = await db.SortedSetRangeByRankAsync("leaderboard", 0, 2, Order.Descending);

进阶要点:序列化、异常处理与配置

StackExchange.Redis 默认只支持 byte[],存对象需自行序列化(如 JSON);同时注意连接状态和超时配置。

  • 存对象建议用 System.Text.Json 序列化:
    await db.StringSetAsync("user:1001", JsonSerializer.Serialize(user));
    User u = JsonSerializer.Deserialize<User>(await db.StringGetAsync("user:1001"));
  • 监听连接事件可诊断问题:
    Connection.ConnectionFailed += (sender, e) => Console.WriteLine(e.Exception);
  • 关键配置项:
    abortConnect=false(启动失败不抛异常)
    connectRetry=3(重试次数)
    keepAlive=60(保活秒数)
    defaultDatabase=0(默认 DB)

基本上就这些。用好 ConnectionMultiplexer 单例 + 异步 IDatabase 操作 + 合理序列化,就能稳定高效地在 C# 中操作 Redis。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

1975

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2682

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

936

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2999

2025.09.10

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2411

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

494

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

422

2026.02.12

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

5239

2023.08.02

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

60

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn