通过C#学习redis(列表)

static void Main(string[] args)
{
    
    
   RedisClient cli = new RedisClient("127.0.0.1:6379,password=,defaultDatabase=0");
   #region 列表
   //将多个值插入列表头部
   cli.LPush("student01", 175, "男", 26, "张三");
   cli.LPush("student02", 171, "女", 26, "赵璇");
   //将多个值插入列表尾部
   cli.RPush("student03", 165, "女", 20, "吴妹");
   //插入一个值到列表中
   cli.LInsert("student03", InsertDirection.before, "吴妹", "大一");
   cli.LInsert("student03", InsertDirection.after, "吴妹", "山东省");
   //将值插入列表头部,如果列表不存在则不执行
   cli.LPushX("student04", 170, "男", 22, "赵六");
   //将值插入列表尾部,如果列表不存在则不执行
   cli.RPushX("student04", 170, "男", 22, "赵六");
   //修改列表元素值
   cli.LSet("student02", 1, 170);//修改身高
   //统计列表的长度
   cli.LLen("student02");
   //获取列表元素的值
   Console.WriteLine(cli.LIndex("student02", 1));
   //获取列表指定区间内的元素
   Console.WriteLine("获取列表指定区间内的元素");
   Console.ForegroundColor = ConsoleColor.Green;
   foreach (var item in cli.LRange("student02", 1, 3))
   {
    
    
       Console.WriteLine(item);
   }
   Console.ForegroundColor = ConsoleColor.White;
   //返回并删除列表的头元素
   Console.WriteLine(cli.LPop("student02"));
   //返回并删除列表的尾元素
   Console.WriteLine(cli.RPop("student02"));
   //在指定时间内删除列表的头元素
   Console.WriteLine(cli.BLPop("student02", 2));
   //在指定时间内删除列表的头元素
   Console.WriteLine(cli.BRPop("student02", 2));
   //删除指定个数的元素
   /*
    当count等于0时,表示删除列表key中所有与value相等的元素。

● 当count大于0时,表示从列表key的表头开始向表尾搜索,删除与value相等的元素,删除的数量为count个。

● 当count小于0时,表示从列表key的表尾开始向表头搜索,删除与value相等的元素,删除的数量为count的绝对值个。
    */
   cli.LRem("student01", 1, 175);
   //在指定区间内修剪列表
   cli.LTrim("student01", 0, 5);
   //将列表元素移动到另一列表中
   cli.LPush("student05", 175, "男", 26, "张三");
   cli.RPopLPush("student05", "student06");
   foreach (var item in cli.LRange("student06", 0, -1)/*获取全部数据*/)
   {
    
    
       Console.WriteLine(item);
   }
   //在指定时间内移动列表元素到另一列表中
   /*
    BRPOPLPUSH命令是RPOPLPUSH命令的阻塞版本。当列表source不存在(为空)时,BRPOPLPUSH 命令将阻塞连接,直到等待超时,或者被另一个客户端对列表 source执行RPUSH或LPUSH命令为止。当列表source不为空时,BRPOPLPUSH命令执行的效果和RPOPLPUSH命令执行的效果一样。
    */
   cli.BRPopLPush("student06", "student07", 1);
   foreach (var item in cli.LRange("student07", 0, -1)/*获取全部数据*/)
   {
    
    
       Console.WriteLine(item);
   }
   #endregion
   Console.WriteLine("执行完毕");
   Console.ReadKey();
}

猜你喜欢

转载自blog.csdn.net/qq_36437991/article/details/131610610