1 RedisClient client = new RedisClient("IP",6379); 2 //用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。 3 client.FlushAll(); 4 //向redis添加数据 5 6 /* 7 * list是一个链表结构,主要功能是push,pop,获取一个范围的所有的值等,操作中key理解为链表名字。 8 * Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素, 9 * 这样list既可以作为栈,又可以作为队列。Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, 10 * Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构 11 */ 12 //队列 13 //入队 14 client.EnqueueItemOnList("QueueListId", "1.小米"); 15 client.EnqueueItemOnList("QueueListId", "2.小喵"); 16 client.EnqueueItemOnList("QueueListId", "3.小王"); 17 client.EnqueueItemOnList("QueueListId", "4.小李"); 18 int q = client.GetListCount("QueueListId"); 19 for (int i = 0; i < q; i++) 20 { 21 Console.WriteLine($"QueueListId出队值=:{client.DequeueItemFromList("QueueListId")}");//出队(队列:先进先出) 22 } 23 //栈 24 //入栈 25 client.PushItemToList("StackListId", "1"); 26 client.PushItemToList("StackListId", "2"); 27 client.PushItemToList("StackListId", "3"); 28 client.PushItemToList("StackListId", "4"); 29 int p = client.GetListCount("StackListId"); 30 for (int i = 0; i < p; i++) 31 { 32 Console.WriteLine($"StackListId出栈值=:{client.PopItemFromList("StackListId")}");//出栈(栈:先进后出) 33 }
RedisClient client = new RedisClient("172.20.10.9",6379);
//用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。
client.FlushAll();
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")}");//出队(队列:先进先出)
}
* 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");
//入栈
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")}");//出栈(栈:先进后出)
}
for (int i = 0; i < p; i++)
{
Console.WriteLine($"StackListId出栈值:{client.PopItemFromList("StackListId")}");//出栈(栈:先进后出)
}