专栏首页微卡智享C# CsRedis的初探(四)-- Redis常用命令整理(列表类型)

C# CsRedis的初探(四)-- Redis常用命令整理(列表类型)

Redis常用命令列表类型

向列表两端增加元素

lpush key value [ value ....... ]

lpush 命令用来向列表左边增加元素,返回表示增加元素后列表的长度

rpush key value [ value ....... ]

rpush 命令用来向列表右边增加元素,返回表示增加元素后列表的长度


从列表两端弹出元素

lpop key

lpop 命令可以从列表左边弹出一个元素,lpop 命令执行两步操作,1:将列表左边的元素从列表中移除,2:返回被移除元素值

rpop key

rpop 命令可以从列表右边弹出一个元素,同上。


获取列表中元素个数

llen key

当键不存在时,llen 返回 0


获得列表片段

lrange key start stop

获得列表中的某一片段,返回索引从 start 到 stop 之间的所有元素(包括两端的元素) 索引开始为 0

注:lrange 与很多语言中用来截取数组片段的方法有一点区别是 lrange 返回的值包含最右边的元素

lrange 命令也支持负索引,表是从右边开始计算序数,如 ' -1 ' 表示最右边第一个元素, ' -2 ' 表示最右边第二个元素,一次类推


删除列表中指定的值

lrem key count value

lrem 命令会删除列表中前 count 个值为 value 的元素,返回值是实际删除的元素个数。根据count 值的不同,lrem 命令执行的方式会略有差异

当 count > 0 时,lrem 命令会从列表左边开始删除前 count 个值为 value 的元素

当 count < 0 时,lrem 命令会从列表右边开始删除前count 个值为 value 的元素

当 count = 0 时,lrem 命令会删除所有值为value的元素


获得 / 设置 指定索引的元素值

lindex key index

lindex 命令用来返回指定索引的元素,索引从 0 开始 ,如果 index 是负数则表示从右边开始计算的索引,最右边元素的索引是 -1

lset key index value

lset 是通过索引操作列表的命令,它会将索引为 index 的元素赋值为 value


只保留列表指定片段

ltrim key start end

ltrim 命令可以删除指定索引范围之外的所有元素,其指定列表范围的方法和 lrange 命令相同

ltrim 命令常和 lpush 命令一起使用来限制列表中元素的数量,比如记录日志时我们希望只保留最近的 100 条日志,则每次加入新元素时,再调用一次ltrim 命令即可;


向列表中插入元素

linsert key before | after pivot value

linsert 命令首先会在列表中从左到右查找值为 pivot 的元素,然后根据第二个参数是 before 还是 after 来决定将 value 插入到该元素的前面还是后面,如果命令执行成功,返回插入操作完成之后列表的长度。如果没有找到 pivot 返回 -1 如果key 不存在或为空,返回 0


将元素从一个列表转到另一个列表R

rpoplpush source destination

rpoplpush 先执行 rpop 命令在执行 lpush 命令。rpoplpush 命令先会从source 列表类型键的右边弹出一个元素,然后将其加入到 destination 列表类型键的左边,并返回这个元素的值,整个过程是原子的。


-END-

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实战|A*寻路算法遇到的问题及解决方法

    上一篇《实战|OpenCV结合A*算法实现简单的运动路径规划》我们实现了运动路径的规划功能,在上次的图片中效果还不错,因为本身就是想做通用的寻路,所以就又换了几...

    Vaccae
  • C#开源跨平台机器学习框架ML.NET----二元分类情绪分析

    右键项目引用选择管理NuGet管理嚣后在浏览里搜索ML,然后找到Microsoft.ML和Microsoft.ML.FastTree进行安装

    Vaccae
  • C# CsRedis的初探(二)-- Redis常用命令整理(基本篇)

    KEYS h?llo 匹配 hello , hallo 和 hxllo 等。

    Vaccae
  • 第三章--第三节:列表

    喵叔
  • Python 源代码里的算法——如何合并多个有序列表并使得结果依然有序?

    去年的一篇文章《一日一技:在 Python 里面如何合并多个有序列表并使得结果依然有序?》,我很自不量力地提到了“多个有序列表”。但实际上,那篇文章仅仅是合并两...

    青南
  • 列表(一)

    列表是由一系列按特定顺序排列的元素组成的集合。你可以创建包含字母表中所有字母、数字0~9以及所有类别名称的列表;也可以将任何东西加入列表中,其中的元素之间可以没...

    py3study
  • RedisTemplate操作list

    似水的流年
  • Python知识点笔记-列表list、元组tuple和dict类型

    小蓝枣
  • redis命令之操作列表

    Reids是可以操作列表的,列表是一种数据结构,在redis中,它允许用户从列表的两端推入或者弹出数据、获取列表数据以及执行各种常见的列表操作。初次之外,列表还...

    无邪Z
  • Python学习笔记整理(五)Pytho

    列表和字段,这两种类型几乎是Python所有脚本的主要工作组件。他们都可以在原处进行修改,可以按需求增加或缩短,而且包含任何种类的对象或者被嵌套。 一、列...

    py3study

扫码关注云+社区

领取腾讯云代金券