![]() |
VOOZH | about |
dotnet add package TJC.Cyclops.Redis --version 2026.6.11.2
NuGet\Install-Package TJC.Cyclops.Redis -Version 2026.6.11.2
<PackageReference Include="TJC.Cyclops.Redis" Version="2026.6.11.2" />
<PackageVersion Include="TJC.Cyclops.Redis" Version="2026.6.11.2" />Directory.Packages.props
<PackageReference Include="TJC.Cyclops.Redis" />Project file
paket add TJC.Cyclops.Redis --version 2026.6.11.2
#r "nuget: TJC.Cyclops.Redis, 2026.6.11.2"
#:package TJC.Cyclops.Redis@2026.6.11.2
#addin nuget:?package=TJC.Cyclops.Redis&version=2026.6.11.2Install as a Cake Addin
#tool nuget:?package=TJC.Cyclops.Redis&version=2026.6.11.2Install as a Cake Tool
Cyclops.Redis 是 Cyclops.Framework 中的Redis客户端集成专家,为您的应用程序提供强大而灵活的 Redis 操作封装! 🎯
我们精心设计的组件支持多种 Redis 部署模式(单实例、哨兵、集群),并封装了缓存、队列、分布式锁、发布订阅等常用功能,简化了 Redis 在 .NET 应用程序中的使用。无论是构建高性能缓存系统,还是实现分布式队列,Cyclops.Redis都能为您提供出色的支持。
// 连接管理核心实现位于 RedisClient 类
// RedisCache 类提供完整的缓存功能实现
// RedisQueue<T> 类实现了类型化的队列操作
// RedisDistributedLock 类实现了安全的分布式锁机制
// RedisProducer 和 RedisConsumer 类实现了流操作
// RedisPublisher 和 RedisSubscriber 类实现了发布订阅功能
// RedisKeyExpireListener 类实现了键过期监听
Install-Package TJC.Cyclops.Redis
dotnet add package TJC.Cyclops.Redis
<PackageReference Include="TJC.Cyclops.Redis" Version="1.0.0" />
在应用程序配置文件中添加 Redis 连接配置:
{
"RedisOptions": {
"Type": "Instance", // 可选值:Instance, Sentinel, Cluster
"Masters": "localhost:6379",
"Slaves": "localhost:6380", // 可选,仅 Instance 模式使用
"Password": "your_password", // 可选
"DefaultDatabase": 0,
"ConnectTimeout": 5000,
"CommandTimeout": 5000,
"ConnectRetry": 3,
"KeepAlive": 60,
"BusyRetry": 3,
"BusyRetryWaitMS": 500,
"AllowAdmin": false,
"ServiceName": "mymaster" // 可选,仅 Sentinel 模式使用
}
}
在ASP.NET Core应用中,通过依赖注入进行配置:
// 在Program.cs或Startup.cs中
using Cyclops.Redis;
var builder = WebApplication.CreateBuilder(args);
// 读取Redis配置
var redisOptions = new RedisOptions();
builder.Configuration.GetSection("RedisOptions").Bind(redisOptions);
// 添加Cyclops.Redis服务
builder.Services.AddCyclopsRedis(redisOptions);
var app = builder.Build();
// ...
app.Run();
以下示例展示了如何使用 Cyclops.Redis 进行缓存操作:
// 创建缓存实例
var cache = new RedisCache();
// 设置缓存
cache.Set("user:1", new UserInfo { Id = 1, Name = "张三" });
// 获取缓存
var user = cache.Get<UserInfo>("user:1");
// 删除缓存
cache.Del("user:1");
// 检查缓存是否存在
var exists = cache.ContainsKey("user:1");
以下示例展示了如何使用 Cyclops.Redis 进行队列操作:
// 获取 Redis 客户端
var redis = new CyclopsRedis();
// 创建队列实例
var queue = redis.GetRedisQueue<OrderInfo>("order_queue");
// 入队
var order = new OrderInfo { OrderId = "ORD123", Amount = 100.5 };
var queueId = await queue.EnqueueAsync(order);
// 出队
string key;
var dequeuedOrder = await queue.DequeueAsync(out key);
以下示例展示了如何使用 Cyclops.Redis 实现分布式锁:
// 获取 Redis 客户端
var redis = new CyclopsRedis();
// 创建分布式锁
var distributedLock = redis.CreateDistributedLock("lock:order:123", TimeSpan.FromSeconds(30));
// 尝试获取锁,最多等待5秒,每50ms重试一次
if (await distributedLock.AcquireAsync(TimeSpan.FromSeconds(5), TimeSpan.FromMilliseconds(50)))
{
try
{
// 执行需要同步的操作
Console.WriteLine("获取锁成功,执行操作...");
await Task.Delay(1000);
}
finally
{
// 释放锁
await distributedLock.ReleaseAsync();
}
}
else
{
Console.WriteLine("获取锁失败");
}
以下示例展示了如何使用 Cyclops.Redis 实现发布订阅功能:
// 获取 Redis 客户端
var redis = new CyclopsRedis();
// 创建订阅者
var subscriber = redis.GetSubscriber("notification_channel");
// 订阅消息
await subscriber.SubscribeAsync((channel, message) => {
Console.WriteLine($"收到消息: {message}");
});
// 创建发布者
var publisher = redis.GetPublisher("notification_channel");
// 发布消息
await publisher.PublishAsync("Hello, Redis Pub/Sub!");
以下示例展示了如何使用 Cyclops.Redis 实现流操作:
// 获取 Redis 客户端
var redis = new CyclopsRedis();
// 创建生产者
var producer = redis.GetRedisProducer("order_stream");
// 发送消息
await producer.ProduceAsync(new Dictionary<string, string>() {
{ "orderId", "ORD456" },
{ "amount", "200.0" }
});
// 创建消费者
var consumer = redis.GetRedisConsumer("order_stream", 0, "order_group");
// 消费消息
var messages = await consumer.ConsumeAsync(count: 10);
foreach (var message in messages)
{
Console.WriteLine($"消费消息: {message.Id} - {message.Data}");
// 确认消息
await consumer.AcknowledgeAsync(message.Id);
}
以下示例展示了如何配置不同的Redis连接模式:
// 哨兵模式配置示例
var sentinelOptions = new RedisOptions {
Type = EnumRedisType.Sentinel,
Masters = "sentinel1:26379,sentinel2:26379",
ServiceName = "mymaster"
};
// 集群模式配置示例
var clusterOptions = new RedisOptions {
Type = EnumRedisType.Cluster,
Masters = "node1:6379,node2:6379,node3:6379"
};
以下示例展示了如何使用 Cyclops.Redis 监听键过期事件:
// 获取键过期监听器
var listener = redis.GetKeyExpireListener();
// 订阅键过期事件
await listener.SubscribeAsync((key) => {
Console.WriteLine($"键过期: {key}");
// 执行清理或其他操作
});
以下示例展示了如何使用 Cyclops.Redis 的单例模式:
// 使用单例实例
var cache = RedisCache.Instance;
// 或使用 CyclopsRedis 单例
var redis = CyclopsRedis.Instance;
我们欢迎社区贡献!如果您有任何改进建议或功能需求,欢迎提交PR或Issue。
保留所有权利
Cyclops.Redis 致力于为您的应用程序提供强大、灵活的 Redis 操作能力。我们相信,通过简化 Redis 的使用复杂性,您可以更专注于业务逻辑的实现,构建出更高效、更可靠的分布式应用。
如果您有任何问题或建议,欢迎与我们联系!让我们一起构建更好的Redis集成解决方案! 🚀
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 2 NuGet packages that depend on TJC.Cyclops.Redis:
| Package | Downloads |
|---|---|
|
TJC.Cyclops.Web.Core
企服版框架中api核心功能项目,基于aspnetcore集成di、jwt、swagger、codefirtst、支持多种常见数据库、nacos配置中心、统一接口回复参数、全局异常捕获、全局接口日志、防重放攻击、图形验证码、快捷上下文对象、上传下载、数据导入导出等功能 |
|
|
TJC.Cyclops.TaskSystem
企服版任务核心 |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.6.11.2 | 153 | 6/11/2026 |
| 2026.6.11.1 | 160 | 6/11/2026 |
| 2026.6.9.4 | 155 | 6/9/2026 |
| 2026.6.9.3 | 168 | 6/9/2026 |
| 2026.6.9.2 | 164 | 6/9/2026 |
| 2026.6.9.1 | 173 | 6/9/2026 |
| 2026.6.8.3 | 166 | 6/8/2026 |
| 2026.6.8.2 | 144 | 6/8/2026 |
| 2026.6.8.1 | 149 | 6/8/2026 |
| 2026.6.5.1 | 148 | 6/5/2026 |
| 2026.5.18.1 | 153 | 5/18/2026 |
| 2026.5.11.1 | 140 | 5/11/2026 |
| 2026.5.7.2 | 146 | 5/7/2026 |
| 2026.5.7.1 | 146 | 5/7/2026 |
| 2026.4.29.2 | 140 | 4/29/2026 |
| 2026.4.29.1 | 165 | 4/29/2026 |
| 2026.4.27.1 | 140 | 4/27/2026 |
| 2026.4.24.2 | 134 | 4/24/2026 |
| 2026.4.24.1 | 130 | 4/24/2026 |
| 2026.4.14.2 | 145 | 4/14/2026 |
企服版框架redis sdk