C#操作Redis List 列表

 1  /// <summary>
 2         /// Redis 列表
 3         /// </summary>
 4         public static void Redis_List()
 5         {
 6             RedisClient client = new RedisClient("127.0.0.1", 6379);
 7             //清空数据库缓存,慎用
 8             client.FlushAll();
 9 
10             /*
11              * list是一个链表结构,主要功能是push,pop,获取一个范围的所有的值等,操作中key理解为链表名字。 
12              * Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,
13              * 这样list既可以作为栈,又可以作为队列。Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,
14              * Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构 
15              */
16 
17             #region 队列操作
18 
19 
20             client.EnqueueItemOnList("QueueList", "1.张三");  //入队
21             client.EnqueueItemOnList("QueueList", "2.张四");
22             client.EnqueueItemOnList("QueueList", "3.王五");
23             client.EnqueueItemOnList("QueueList", "4.王麻子");
24             int q = client.GetListCount("QueueList");
25             for (int i = 0; i < q; i++)
26             {
27                 //出队后原有队列数据移除
28                 //出队(队列先进先出)
29                 Console.WriteLine("QueueList出队值:{0}", client.DequeueItemFromList("QueueList"));
30             }
31             #endregion
32             #region 栈操作
33 
34             client.PushItemToList("StackList", "1.张三");  //入栈
35             client.PushItemToList("StackList", "2.张四");
36             client.PushItemToList("StackList", "3.王五");
37             client.PushItemToList("StackList", "4.王麻子");
38             int p = client.GetListCount("StackList");
39             for (int i = 0; i < p; i++)
40             {
41                 //出栈后原有队列数据移除
42                 //出栈(栈先进后出)
43                 Console.WriteLine("StackList出栈值:{0}", client.PopItemFromList("StackList"));
44             }
45             #endregion
46 
47         }
原文地址:https://www.cnblogs.com/happygx/p/8416613.html