C#操作Redis List 列表

本文介绍了一个使用C#实现的Redis列表应用案例,演示了如何利用Redis的列表结构进行队列和栈的操作。通过具体的代码实现了数据的入队、出队、入栈、出栈等功能,并展示了如何清空Redis数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值