0

0

C#怎么连接Redis数据库 C# StackExchange.Redis客户端的使用方法

幻夢星雲

幻夢星雲

发布时间:2025-11-13 13:00:03

|

647人浏览过

|

来源于php中文网

原创

使用StackExchange.Redis连接Redis,需先安装NuGet包,再通过ConnectionMultiplexer建立连接并获取IDatabase实例进行操作。1. 安装:执行Install-Package StackExchange.Redis。2. 连接:配置ConfigurationOptions并调用Connect创建线程安全的ConnectionMultiplexer单例。3. 操作:利用IDatabase执行字符串、哈希、列表等数据操作。4. 最佳实践:推荐静态单例管理连接,监听事件处理重连,支持发布/订阅、事务和集群。示例中展示了基本读写及Pub/Sub功能,适用于大多数C#项目需求。

c#怎么连接redis数据库 c# stackexchange.redis客户端的使用方法

在C#中连接Redis数据库,最常用的方式是使用 StackExchange.Redis 客户端库。它是.NET平台下最流行、性能优异的Redis客户端,支持同步和异步操作,适用于各种应用场景。

1. 安装 StackExchange.Redis NuGet 包

在项目中使用前,需要先安装对应的NuGet包:

Install-Package StackExchange.Redis

可以通过 Visual Studio 的 NuGet 包管理器或 .NET CLI 完成安装。

2. 建立 Redis 连接

StackExchange.Redis 使用 ConnectionMultiplexer 类来管理与Redis服务器的连接。这个对象是线程安全的,建议在整个应用程序中只创建一次,重复使用。

示例代码:

using StackExchange.Redis; // 创建连接配置 var configuration = new ConfigurationOptions { EndPoints = { "localhost:6379" }, // Redis 地址 ConnectTimeout = 5000, // 连接超时(毫秒) SyncTimeout = 5000, // 同步操作超时 AbortOnConnectFail = false // 如果连接失败是否抛出异常 }; // 获取连接实例(推荐单例模式) ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(configuration); // 获取数据库对象(Redis支持多个数据库,db0-db15) IDatabase db = redis.GetDatabase(); // 默认使用 db0

3. 常用数据操作示例

通过 IDatabase 接口可以执行常见的Redis命令。

字符串操作(String)

// 设置值 db.StringSet("name", "Alice"); // 获取值 string name = db.StringGet("name"); Console.WriteLine(name); // 输出: Alice // 设置带过期时间的键 db.StringSet("token", "abc123", TimeSpan.FromMinutes(10));

哈希操作(Hash)

千帆大模型平台
千帆大模型平台

面向企业开发者的一站式大模型开发及服务运行平台

下载
// 存储用户信息 db.HashSet("user:1001", new HashEntry[] { new HashEntry("name", "Bob"), new HashEntry("age", "25") }); // 获取所有字段 var userData = db.HashGetAll("user:1001"); foreach (var entry in userData) { Console.WriteLine($"{entry.Name}: {entry.Value}"); }

列表操作(List)

// 向列表左端插入元素 db.ListLeftPush("tasks", "task1"); db.ListLeftPush("tasks", "task2"); // 从右端弹出元素 string task = db.ListRightPop("tasks"); Console.WriteLine(task); // 输出: task1

发布/订阅(Pub/Sub)

// 订阅频道 ISubscriber sub = redis.GetSubscriber(); sub.Subscribe("chat", (channel, message) => { Console.WriteLine($"收到消息: {message}"); }); // 发布消息(可在另一个客户端或线程中) sub.Publish("chat", "Hello Redis!");

4. 连接管理与最佳实践

ConnectionMultiplexer 是重量级对象,应避免频繁创建和销毁。

  • 使用静态单例方式维护一个共享的 ConnectionMultiplexer 实例
  • 监听连接事件以处理断线重连
  • 生产环境建议配置哨兵或集群模式

简单单例模式示例:

public class RedisHelper { private static readonly Lazy _instance = new Lazy(() => ConnectionMultiplexer.Connect("localhost:6379")); public static ConnectionMultiplexer Instance => _instance.Value; public static IDatabase Db => Instance.GetDatabase(); }

之后在代码中直接使用:RedisHelper.Db.StringSet(...)

基本上就这些。StackExchange.Redis 功能强大,支持事务、脚本、管道等高级特性,适合大多数C#项目对接Redis的需求。

相关专题

更多
string转int
string转int

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

311

2023.08.02

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

37

2025.12.04

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6033

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

779

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1044

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1073

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

246

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

204

2023.09.04

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1

2025.12.29

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

Redis+MySQL数据库面试教程
Redis+MySQL数据库面试教程

共72课时 | 6.2万人学习

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

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号