LTRIM¶

LTRIM key start stop

对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

举个例子,执行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。

下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

当 key 不是列表类型时,返回一个错误。

LTRIM 命令通常和 LPUSH 命令或 RPUSH 命令配合使用,举个例子:

LPUSH log newest_log

LTRIM log 0 99

这个例子模拟了一个日志程序,每次将最新日志 newest_log 放到 log 列表中,并且只保留最新的 100 项。注意当这样使用 LTRIM 命令时,时间复杂度是O(1),因为平均情况下,每次只有一个元素被移除。

注意LTRIM命令和编程语言区间函数的区别

假如你有一个包含一百个元素的列表 list ,对该列表执行 LTRIM list 0 10 ,结果是一个包含11个元素的列表,这表明 stop 下标也在 LTRIM 命令的取值范围之内(闭区间),这和某些语言的区间函数可能不一致,比如Ruby的 Range.new 、 Array#slice 和Python的 range() 函数。

超出范围的下标

超出范围的下标值不会引起错误。

如果 start 下标比列表的最大下标 end ( LLEN list 减去 1 )还要大,或者 start > stop , LTRIM 返回一个空列表(因为 LTRIM 已经将整个列表清空)。

如果 stop 下标比 end 下标还要大,Redis将 stop 的值设置为 end 。

可用版本:

>= 1.0.0

时间复杂度:

O(N), N 为被移除的元素的数量。

返回值:

命令执行成功时,返回 ok 。

# 一般情况下标

redis> LRANGE alpha 0 -1 # 建立一个 5 元素的列表

1) "h"

2) "e"

3) "l"

4) "l"

5) "o"

redis> LTRIM alpha 1 -1 # 删除索引为 0 的元素

OK

redis> LRANGE alpha 0 -1 # "h" 被删除

1) "e"

2) "l"

3) "l"

4) "o"

# stop 下标比元素的最大下标要大

redis> LTRIM alpha 1 10086

OK

redis> LRANGE alpha 0 -1

1) "l"

2) "l"

3) "o"

# start 和 stop 下标都比最大下标要大,且 start < sotp

redis> LTRIM alpha 10086 200000

OK

redis> LRANGE alpha 0 -1 # 整个列表被清空,等同于 DEL alpha

(empty list or set)

# start > stop

redis> LRANGE alpha 0 -1 # 在新建一个列表

1) "h"

2) "u"

3) "a"

4) "n"

5) "g"

6) "z"

redis> LTRIM alpha 10086 4

OK

redis> LRANGE alpha 0 -1 # 列表同样被清空

(empty list or set)

php ltrim redis,LTRIM相关推荐

  1. php ltrim redis,LTRIM命令_视频讲解_用法示例-redis编程词典-php中文网

    trim 英 [trɪm]   美 [trɪm] vt.装饰;修剪;整理 adj.整齐的,整洁的;修长的;苗条的 n.修剪;整齐;健康状态;装束 vi.削减 第三人称单数: trims 现在分词: t ...

  2. php ltrim redis,Redis Ltrim 命令

    Redis Ltrim 命令 Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除. 下标 0 表示列表的第一个元素,以 1 ...

  3. php ltrim redis,Redis Ltrim命令

    Redis Ltrim命令 Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除. 下标 0 表示列表的第一个元素,以 1 表 ...

  4. Oracle ltrim() 函数用法

    查看全文 http://www.taodudu.cc/news/show-5721284.html 相关文章: php ltrim redis,LTRIM命令_视频讲解_用法示例-redis编程词典- ...

  5. redis队列(list)

    2019独角兽企业重金招聘Python工程师标准>>> Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包含 ...

  6. Oracle 你真的会用ltrim/rtrim函数吗?

    查看原文:http://www.ibloger.net/article/255.html 常见的用法是去除空格,有多少人不知道它们其实还可以做到去除空格,它有ltrim().ltrim(x,y)方法 ...

  7. 第九十三章 SQL函数 LTRIM

    文章目录 第九十三章 SQL函数 LTRIM 大纲 参数 描述 示例 第九十三章 SQL函数 LTRIM 字符串函数,它返回一个删除了前导空格的字符串. 大纲 LTRIM(string-express ...

  8. [Mysql] TRIM函数 | RTRIM函数 | LTRIM函数

    TRIM函数,RTRIM函数与LTRIM函数都可以清洗字符串首尾空格 注意:字符串中间的空格无法清洗 1.TRIM函数 TRIM函数用于删除字符串str头或尾的指定字符串remstr,通常用来移除字符 ...

  9. 【redis】redis简介及基本数据结构的操作

    一.简介 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提 ...

最新文章

  1. lucene3.0范围查找TermRangeQuery
  2. 反向春运成为新趋势 客流年增9%
  3. pandas使用pad函数向dataframe特定数据列的每个字符串添加补齐字符或者字符串、向所有字符串的左右两侧填充、直到宽度达到指定要求(both padding)
  4. DearGUI编写贪吃蛇之让蛇跑的方向受控制_最新
  5. LeetCode 11 盛最多水的容器
  6. Note change in webclient ui - delete case research
  7. Map value类型不同的写法
  8. 玛酷机器人课程视频_建阳玛酷机器人丨2019WRO机器人比赛凯旋而归!
  9. 产品案例:这些呼声很高功能,微信为何还不做?
  10. linux shell中获取mongodb最大连接数、内存使用情况等
  11. 标识符——Python
  12. 男人想要成功--必须明白的22个道理
  13. 【概率论】期望、方差、协方差、相关系数、相关与独立、样本估计量、点估计、区间估计
  14. iOS C语言~bzero函数、memset函数
  15. Linux自学之旅-安装篇(设备文件名)
  16. C语言 输出字母倒三角形
  17. Zigbee 应用层协议自定义
  18. 动画制作后期那点事——调色
  19. 知识产权与标准规范: 著作权法、计算机软件保护条例、商标权、不正当竞争法、招投标法、采购法、合同法
  20. android设置状态栏字体颜色vivo,状态栏通知图标颜色统一_vivo Xplay3S_手机Android频道-中关村在线...

热门文章

  1. [JavaScript]如何判断当前浏览器是不是微信浏览器
  2. 通信行业并非那么”腹黑“
  3. 如何使电脑黑屏而后台运行?
  4. 【重磅】微信开源PhxSQL:高可用、强一致的MySQL集群
  5. win10黑屏闪屏如何解决?
  6. 微信小程序:bindtap传参
  7. NFLSOJ 5737 竞赛总分
  8. WindowsAPI之joystickapi(游戏摇杆)头文件4
  9. 利用Python找出适合你的国考市考公务员岗位
  10. ROG魔霸新锐电脑如何用U盘重装Win10系统教学