天天看點

.net Redis用戶端NewLife.Redis.Core庫的使用

一、項目說明

NewLife.Redis.Core基于新生命團隊NewLife.Redis的封裝,支援.NETCore3/.NET5/.NET6。

NewLife.Redis 是一個Redis用戶端元件,以高性能處理大資料實時計算為目标。

源碼: https://github.com/NewLifeX/NewLife.Redis

Nuget:NewLife.Redis

教程:https://newlifex.com/core/redis

二、使用說明

2.1 通過New的方式安裝使用

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.2 通過IOC注入

ConfigureServices裡注冊元件

//預設讀取配置檔案:ConnectionStrings:Redis
        services.AddRedisCacheManager();

        //指定連結字元串
        services.AddRedisCacheManager("server=127.0.0.1:6379;password=xxx;db=4");           

構造函數裡注入IRedisCacheManager

private readonly ILogger<Worker> _logger;
        private readonly IRedisCacheManager _redisCacheManager;

        public Worker(ILogger<Worker> logger, IRedisCacheManager redisCacheManager)
        {
            _logger = logger;
            this._redisCacheManager = redisCacheManager;

            var data = _redisCacheManager.Get<string>("test");
        }           

三、實作消息隊列

詳情可以看我的這篇文章:.Net大殺器之基于Newlife.Redis的可重複消費+共享訂閱隊列來替換第三方MQ

四、源碼位址

Github:https://github.com/NewLifeX/NewLife.Redis.Core

Gitee:https://gitee.com/huguodong520/NewLife.Redis.Core.git

繼續閱讀