C#操作Redis List 列表

/// <summary>
        /// Redis 列表
        /// </summary>
        public static void Redis_List()
        {
            RedisClient client = new RedisClient("127.0.0.1", 6379);
            //清空数据库缓存,慎用
            client.FlushAll();

            /*
             * list是一个链表结构,主要功能是push,pop,获取一个范围的所有的值等,操作中key理解为链表名字。
             * Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,
             * 这样list既可以作为栈,又可以作为队列。Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,
             * Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构
             */

            #region 队列操作


            client.EnqueueItemOnList("QueueList", "1.张三");  //入队
            client.EnqueueItemOnList("QueueList", "2.张四");
            client.EnqueueItemOnList("QueueList", "3.王五");
            client.EnqueueItemOnList("QueueList", "4.王麻子");
            int q = client.GetListCount("QueueList");
            for (int i = 0; i < q; i++)
            {
                //出队后原有队列数据移除
                //出队(队列先进先出)
                Console.WriteLine("QueueList出队值:{0}", client.DequeueItemFromList("QueueList"));
            }
            #endregion
            #region 栈操作

            client.PushItemToList("StackList", "1.张三");  //入栈
            client.PushItemToList("StackList", "2.张四");
            client.PushItemToList("StackList", "3.王五");
            client.PushItemToList("StackList", "4.王麻子");
            int p = client.GetListCount("StackList");
            for (int i = 0; i < p; i++)
            {
                //出栈后原有队列数据移除
                //出栈(栈先进后出)
                Console.WriteLine("StackList出栈值:{0}", client.PopItemFromList("StackList"));
            }
            #endregion

        }

https://www.cnblogs.com/happygx/p/8416613.html

原文地址:https://www.cnblogs.com/youmingkuang/p/14276927.html