您的位置:首页 > 数据库 > Redis

C#操作Redis List 列表

2018-02-05 10:48 204 查看
/// <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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐