Skip to main content
.NETCoreApp3.1net6.0net7.0net8.0

NewLife.Redis的扩展封装,依赖于NewLife.Redis 仅仅是另一种使用风格!,支持.NETCore3/.NET5/.NET6/.NET7 教程:https://www.cnblogs.com/huguodong/p/16498154.html

NuGetCompare
Published
Dec 5, 2023
2y ago
Total Downloads
25.0K
24,982

Install

dotnet add package NewLife.Redis.Core --version 1.9.2023.1205
ProductVersions
.NET
net6.0net7.0net8.0
Other
.NETCoreApp3.1

README

一、项目说明 NewLife.Redis.Core基于新生命团队NewLife.Redis的封装,支持.NETCore3/.NET6/7。 NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标。 源码: https://github.com/NewLifeX/NewLife.Redis
Nuget:NewLife.Redis
教程:https://newlifex.com/core/redis 二、使用说明 2.1 通过New的方式安装使用 2.1.1 单客户端模式 using NewLife.Redis.Core; NewLifeRedis redis = new NewLifeRedis("server=127.0.0.1:6379;password=Shiny123456;db=4"); //普通操作 redis.Set("test", "1"); Console.WriteLine(redis.Get<string>("test")); //列表 redis.ListAdd("listtest", 1); redis.ListGetAll<string>("listtest"); //SortedSet redis.SortedSetAdd("sortsettest", "1", 1.0); redis.SortedSetIncrement("sortsettest", "1", 1.0); //set redis.SetAdd("settest", "2"); //哈希 redis.HashAdd("hashtest", "1", "2"); redis.HashGet<string>("hashtest", new string[] { "1" }); //队列操作 //方式1 var queue = redis.GetRedisQueue<string>("queue"); queue.Add("test"); var data = queue.Take(1); //方式2 redis.AddQueue("queue", "1"); redis.GetQueueOne<string>("queue"); 2.1.2 多客户端模式 var redisCacheManager = new RedisCacheManager(new List<RedisConfig> { new RedisConfig { Name = "1", ConnectionString = "xxx" } }); redisCacheManager.AddRedis(new RedisConfig { Name = "2", ConnectionString = "xx" }); //支持动态添加和删除 redisCacheManager.AddRedis(new RedisConfig { Name = "test", ConnectionString = "xx" }); redisCacheManager.RemoveRedis("test"); var redis = redisCacheManager.GetRedis("2"); //普通操作 redis.Set("test", "1"); Console.WriteLine(redis.Get<string>("test")); //列表 redis.ListAdd("listtest", 1); redis.ListGetAll<string>("listtest"); //SortedSet redis.SortedSetAdd("sortsettest", "1", 1.0); redis.SortedSetIncrement("sortsettest", "1", 1.0); //set redis.SetAdd("settest", "2"); //哈希 redis.HashAdd("hashtest", "1", "2"); redis.HashGet<string>("hashtest", new string[] { "1" }); //队列操作 //方式1 var queue = redis.GetRedisQueue<string>("queue"); queue.Add("test"); var data = queue.Take(1); //方式2 redis.AddQueue("queue", "1"); redis.GetQueueOne<string>("queue"); 2.2 通过IOC注入(推荐) 2.2.1 单客户端注入 ConfigureServices里注册组件 //默认读取配置文件:ConnectionStrings:Redis services.AddNewLifeRedis(); //指定链接字符串 services.AddNewLifeRedis("server=127.0.0.1:6379;password=xxx;db=4"); 构造函数里注入INewLifeRedis private readonly INewLifeRedis newLifeRedis; public Worker(ILogger<Worker> logger, INewLifeRedis newLifeRedis) { _logger = logger; this.newLifeRedis = newLifeRedis; newLifeRedis.Set("test", "2"); } 2.2.2 多客户端注入 配置文件不能再是字符串格式而要改成下面格式 "ConnectionStrings": { "Redis": [ { "Name": "1", "ConnectionString": "server=127.0.0.1:6379;password=123456;db=4" }, { "Name": "2", "ConnectionString": "server=127.0.0.1:6379;password=123456;db=5" } ] }, ConfigureServices里注册组件 services.AddRedisCacheManager(); services.AddRedisCacheManager(hostContext.Configuration, "xxx");//第二种 构造函数里注入IRedisCacheManager private readonly ISimpleRedis newLifeRedis; public Worker(ILogger<Worker> logger, IRedisCacheManager redisCacheManager) { _logger = logger; newLifeRedis = redisCacheManager.GetRedis("1"); newLifeRedis.Set("TEST", "test"); newLifeRedis = redisCacheManager.GetRedis("2"); newLifeRedis.Set("TEST", "test"); //支持动态添加和删除 redisCacheManager.AddRedis(new RedisConfig { Name = "test", ConnectionString = "xx" }); redisCacheManager.RemoveRedis("test"); } 三、实现消息队列 详情可以看我的这篇文章:.Net大杀器之基于Newlife.Redis的可重复消费+共享订阅队列来替换第三方MQ 四、源码地址 Github:https://github.com/NewLifeX/NewLife.Redis.Core Gitee:https://gitee.com/huguodong520/NewLife.Redis.Core.git

Changes from Previous Version

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 4 target frameworks; confirm the exact target used by your application.The published metadata declares 24 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.