Redis筆記,List,隊列,棧


  
    RedisClient client = new RedisClient("172.20.10.9",6379);
//用於清空整個 Redis 服務器的數據(刪除所有數據庫的所有 key )。
            client.FlushAll();
//向redis添加數據
    
/*
            * list是一個鏈表結構,主要功能是push,pop,獲取一個范圍的所有的值等,操作中key理解為鏈表名字。
            * Redis的list類型其實就是一個每個子元素都是string類型的雙向鏈表。我們可以通過push,pop操作從鏈表的頭部或者尾部添加刪除元素,
            * 這樣list既可以作為棧,又可以作為隊列。Redis list的實現為一個雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內存開銷,
            * Redis內部的很多實現,包括發送緩沖隊列等也都是用的這個數據結構
            */
            //隊列
            //入隊
            client.EnqueueItemOnList("QueueListId", "1.張三");
            client.EnqueueItemOnList("QueueListId", "2.李四");
            client.EnqueueItemOnList("QueueListId", "3.張三");
            client.EnqueueItemOnList("QueueListId", "4.張三");
            int q = client.GetListCount("QueueListId");
            for (int i = 0; i < q; i++)
            {
                Console.WriteLine($"QueueListId出隊值:{client.DequeueItemFromList("QueueListId")}");//出隊(隊列:先進先出)
            }
            //棧
            //入棧
            client.PushItemToList("StackListId", "1");
            client.PushItemToList("StackListId", "2");
            client.PushItemToList("StackListId", "3");
            client.PushItemToList("StackListId", "4");
            int p = client.GetListCount("StackListId");
            for (int i = 0; i < p; i++)
            {
                Console.WriteLine($"StackListId出棧值:{client.PopItemFromList("StackListId")}");//出棧(棧:先進后出)
            }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM