{"id":18871549,"url":"https://github.com/newlifex/newlife.redis.core","last_synced_at":"2026-03-08T00:31:31.622Z","repository":{"id":49826960,"uuid":"515407167","full_name":"NewLifeX/NewLife.Redis.Core","owner":"NewLifeX","description":"NewLife.Redis的封装,支持.NETCore3/.NET5/6/7/8","archived":false,"fork":false,"pushed_at":"2025-06-23T13:09:04.000Z","size":171,"stargazers_count":8,"open_issues_count":1,"forks_count":6,"subscribers_count":61,"default_branch":"main","last_synced_at":"2025-11-27T12:41:51.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NewLifeX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-19T02:26:53.000Z","updated_at":"2025-06-23T13:09:07.000Z","dependencies_parsed_at":"2023-12-11T02:29:50.871Z","dependency_job_id":"984dcb05-d2ab-4771-a846-a22480a1e9cc","html_url":"https://github.com/NewLifeX/NewLife.Redis.Core","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NewLifeX/NewLife.Redis.Core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NewLifeX%2FNewLife.Redis.Core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NewLifeX%2FNewLife.Redis.Core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NewLifeX%2FNewLife.Redis.Core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NewLifeX%2FNewLife.Redis.Core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NewLifeX","download_url":"https://codeload.github.com/NewLifeX/NewLife.Redis.Core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NewLifeX%2FNewLife.Redis.Core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30238854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:30:53.000Z","status":"ssl_error","status_checked_at":"2026-03-08T00:30:44.061Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T05:26:22.621Z","updated_at":"2026-03-08T00:31:31.613Z","avatar_url":"https://github.com/NewLifeX.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e一、项目说明\u003c/h1\u003e\n\u003cp\u003eNewLife.Redis.Core基于新生命团队NewLife.Redis的封装,支持.NETCore3/.NET6/7。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cspan style=\"color: #e03e2d;\"\u003eNewLife.Redis\u003c/span\u003e 是一个Redis客户端组件，以高性能处理大数据实时计算为目标。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e源码：\u0026nbsp;\u003ca href=\"https://github.com/NewLifeX/NewLife.Redis\"\u003ehttps://github.com/NewLifeX/NewLife.Redis\u003c/a\u003e\u003cbr /\u003eNuget：NewLife.Redis\u003cbr /\u003e教程：\u003ca href=\"https://newlifex.com/core/redis\" rel=\"nofollow\"\u003ehttps://newlifex.com/core/redis\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003e二、使用说明\u003c/h1\u003e\n\u003ch2\u003e2.1 通过New的方式安装使用\u003c/h2\u003e\n\u003ch3\u003e2.1.1 单客户端模式\u003c/h3\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003eusing NewLife.Redis.Core;\nNewLifeRedis redis = new NewLifeRedis(\"server=127.0.0.1:6379;password=Shiny123456;db=4\");\n//普通操作\nredis.Set(\"test\", \"1\");\nConsole.WriteLine(redis.Get\u0026lt;string\u0026gt;(\"test\"));\n//列表\nredis.ListAdd(\"listtest\", 1);\nredis.ListGetAll\u0026lt;string\u0026gt;(\"listtest\");\n//SortedSet\nredis.SortedSetAdd(\"sortsettest\", \"1\", 1.0);\nredis.SortedSetIncrement(\"sortsettest\", \"1\", 1.0);\n//set\nredis.SetAdd(\"settest\", \"2\");\n//哈希\nredis.HashAdd(\"hashtest\", \"1\", \"2\");\nredis.HashGet\u0026lt;string\u0026gt;(\"hashtest\", new string[] { \"1\" });\n//队列操作\n//方式1\nvar queue = redis.GetRedisQueue\u0026lt;string\u0026gt;(\"queue\");\nqueue.Add(\"test\");\nvar data = queue.Take(1);\n//方式2\nredis.AddQueue(\"queue\", \"1\");\nredis.GetQueueOne\u0026lt;string\u0026gt;(\"queue\");\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e2.1.2 多客户端模式\u003c/h3\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003evar redisCacheManager = new RedisCacheManager(new List\u0026lt;RedisConfig\u0026gt; { new RedisConfig { Name = \"1\", ConnectionString = \"xxx\" } });\nredisCacheManager.AddRedis(new RedisConfig { Name = \"2\", ConnectionString = \"xx\" });\n//支持动态添加和删除\nredisCacheManager.AddRedis(new RedisConfig { Name = \"test\", ConnectionString = \"xx\" });\nredisCacheManager.RemoveRedis(\"test\");\nvar redis = redisCacheManager.GetRedis(\"2\");\n//普通操作\nredis.Set(\"test\", \"1\");\nConsole.WriteLine(redis.Get\u0026lt;string\u0026gt;(\"test\"));\n//列表\nredis.ListAdd(\"listtest\", 1);\nredis.ListGetAll\u0026lt;string\u0026gt;(\"listtest\");\n//SortedSet\nredis.SortedSetAdd(\"sortsettest\", \"1\", 1.0);\nredis.SortedSetIncrement(\"sortsettest\", \"1\", 1.0);\n//set\nredis.SetAdd(\"settest\", \"2\");\n//哈希\nredis.HashAdd(\"hashtest\", \"1\", \"2\");\nredis.HashGet\u0026lt;string\u0026gt;(\"hashtest\", new string[] { \"1\" });\n//队列操作\n//方式1\nvar queue = redis.GetRedisQueue\u0026lt;string\u0026gt;(\"queue\");\nqueue.Add(\"test\");\nvar data = queue.Take(1);\n//方式2\nredis.AddQueue(\"queue\", \"1\");\nredis.GetQueueOne\u0026lt;string\u0026gt;(\"queue\");\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.2 通过IOC注入（推荐）\u003c/h2\u003e\n\u003ch3\u003e2.2.1 单客户端注入\u003c/h3\u003e\n\u003cp\u003eConfigureServices里注册组件\u003c/p\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003e//默认读取配置文件：ConnectionStrings:Redis\nservices.AddNewLifeRedis();\n//指定链接字符串\nservices.AddNewLifeRedis(\"server=127.0.0.1:6379;password=xxx;db=4\");\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e构造函数里注入INewLifeRedis\u003c/p\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003eprivate readonly INewLifeRedis newLifeRedis;\npublic Worker(ILogger\u0026lt;Worker\u0026gt; logger, INewLifeRedis newLifeRedis)\n{\n  _logger = logger;\n  this.newLifeRedis = newLifeRedis;\n  newLifeRedis.Set(\"test\", \"2\");\n}\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e2.2.2 多客户端注入\u003c/h3\u003e\n\u003cp\u003e配置文件不能再是字符串格式而要改成下面格式\u003c/p\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003e\"ConnectionStrings\": {\n    \"Redis\": [\n      {\n        \"Name\": \"1\",\n        \"ConnectionString\": \"server=127.0.0.1:6379;password=123456;db=4\"\n      },\n      {\n        \"Name\": \"2\",\n        \"ConnectionString\": \"server=127.0.0.1:6379;password=123456;db=5\"\n      }\n    ]\n  },\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eConfigureServices里注册组件\u003c/p\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003eservices.AddRedisCacheManager();\nservices.AddRedisCacheManager(hostContext.Configuration, \"xxx\");//第二种\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e构造函数里注入IRedisCacheManager\u003c/p\u003e\n\u003cpre class=\"language-csharp highlighter-hljs\"\u003e\u003ccode\u003eprivate readonly ISimpleRedis newLifeRedis;\npublic Worker(ILogger\u0026lt;Worker\u0026gt; logger, IRedisCacheManager redisCacheManager)\n{\n _logger = logger;\nnewLifeRedis = redisCacheManager.GetRedis(\"1\");\nnewLifeRedis.Set(\"TEST\", \"test\");\nnewLifeRedis = redisCacheManager.GetRedis(\"2\");\nnewLifeRedis.Set(\"TEST\", \"test\");\n//支持动态添加和删除\nredisCacheManager.AddRedis(new RedisConfig { Name = \"test\", ConnectionString = \"xx\" });\nredisCacheManager.RemoveRedis(\"test\");\n}\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003e三、实现消息队列\u003c/h1\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 24px;\"\u003e详情可以看我的这篇文章：\u003ca href=\"https://www.cnblogs.com/huguodong/p/16434717.html\" target=\"_blank\" rel=\"noopener\"\u003e.Net大杀器之基于Newlife.Redis的可重复消费+共享订阅队列来替换第三方MQ\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\u003ch1\u003e四、源码地址\u003c/h1\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 24px;\"\u003eGithub:\u003ca href=\"https://github.com/NewLifeX/NewLife.Redis.Core\" target=\"_blank\" rel=\"noopener\"\u003ehttps://github.com/NewLifeX/NewLife.Redis.Core\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 24px;\"\u003eGitee:\u003ca href=\"https://gitee.com/huguodong520/NewLife.Redis.Core.git\" target=\"_blank\" rel=\"noopener\"\u003ehttps://gitee.com/huguodong520/NewLife.Redis.Core.git\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewlifex%2Fnewlife.redis.core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewlifex%2Fnewlife.redis.core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewlifex%2Fnewlife.redis.core/lists"}