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

在C#中连接Redis数据库,最常用的方式是使用 StackExchange.Redis 客户端库。它是.NET平台下最流行、性能优异的Redis客户端,支持同步和异步操作,适用于各种应用场景。
在项目中使用前,需要先安装对应的NuGet包:
Install-Package StackExchange.Redis可以通过 Visual Studio 的 NuGet 包管理器或 .NET CLI 完成安装。
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通过 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!");ConnectionMultiplexer 是重量级对象,应避免频繁创建和销毁。
简单单例模式示例:
public class RedisHelper { private static readonly Lazy之后在代码中直接使用:RedisHelper.Db.StringSet(...)
基本上就这些。StackExchange.Redis 功能强大,支持事务、脚本、管道等高级特性,适合大多数C#项目对接Redis的需求。
以上就是C#怎么连接Redis数据库 C# StackExchange.Redis客户端的使用方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号