Redis专题(2)——List 操作

概念

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

命令查看

http://www.redis.cn/commands.html#generic

代码案列(常见API)

  using (RedisClient client = new RedisClient("127.0.0.1", 6379))
            {

                #region list 添加数据 key 一致
                var key = "listid";
                //var user1 = new User() { id = "1", name = "李四" };
                //var user2 = new User() { id = "2", name = "张三" };
                //client.AddItemToList(key, JsonConvert.SerializeObject(user1));
                //client.AddItemToList(key, JsonConvert.SerializeObject(user2));
                //client.AddItemToList(key, "1");
                //client.AddItemToList(key, "2");
                #endregion

                #region  追加数据
                //var user3 = new User() { id = "3", name = "王二麻" };
                //client.PushItemToList(key, JsonConvert.SerializeObject(user3));
                #endregion


                #region  设置过期时间
                //var user4 = new User() { id = "3", name = "王大麻" };
                //client.PushItemToList(key, JsonConvert.SerializeObject(user4));

                //client.ExpireEntryAt(key, DateTime.Now.AddSeconds(20));//20秒之后过期
                #endregion

                #region  插队添加 后执行的在上面 在最原始的上面添加,后执行的添加的在最上面
                //var gaunyu = new User() { id = "3", name = "王二麻" };
                向右追加就是插队
                //client.PrependItemToList(key, JsonConvert.SerializeObject(gaunyu));
                //Console.WriteLine("ok");
                //var caomegndeng = new User() { id = "4", name = "王大麻" };
                //client.PrependItemToList(key, JsonConvert.SerializeObject(caomegndeng));
                #endregion

                #region 通过key 获取全部

                //var list= client.GetAllItemsFromList(key);
                #endregion

                #region 通过key 获取指定下标的数据集合
                //var list = client.GetRangeFromList(key,1,3);//下标范围
                //var list = client.GetItemFromList(key,0);    //指定下标
                #endregion

                #region 获取list长度

                //var count = client.LLen(key);    //获取list长度
                #endregion

                #region 

                client.Del(key);
                #endregion

使用场景

List的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis 内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构。另外,可以利用 lrange 命令,做基于 Redis 的分页功能,性能极佳,用户体验好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小盆友你是否很有多问号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值