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