• redis我记不住的那些命令(四)


    背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。

    一、list类型

    1. rpush : 从列表右侧推入,即 right push

    2. lpush:从列表左侧推入,即 left push ,这里的l不是代表list的意思,而是left

    当你看到lpush是说list并且从左侧进行推入。

    3. rpop : 从列表右侧弹出,即 right pop

    4. lpop :从列表左侧弹出,即 left pop

    5. lindex :返回列表的偏移量offset的元素,其实和数组非常类似,从0开始

    6. lrange:返回列表的start到end的子列表,即 [start,end] ,左闭右闭,仅仅是截取列表,不改变原有列表的值。

    7. llen : 获取列表长度

    8. ltrim : 返回列表的截取部分,即 [start,end] ,左闭右闭 ,这个命令与第6条的区别在于 ltrim改变了原有列表的值。

    9. lset:通过索引来设置元素的值

    10. blpop : 从非空列表中弹出最左侧的元素,这里会有timeout,如果此列表为空,则进行等待或阻塞timeout的时间,单位是秒。当时间到了列表依旧是空,则无任何返回。 b是block阻塞的意思

    11. brpop :  这个命令同第10个命令的功能一致,只不过是从右侧弹出。b是block阻塞的意思

    12. rpoplpush :  这是一个组合的命令,意思是从一个列表右侧弹出,并从左侧推送到另外一个列表中

    13. brpoplpush:这个命令与第12个命令不同之处在于有一个timeout值,单位为秒,b是block的意思,用于阻塞等待,和第10个命令和第11个命令相似。

    14. lpushx / rpushx : 这个命令是将数据从左侧插入或右侧插入到列表,不同之处在于如果这个列表不存在,则不执行操作。如果这个列表存在,则进行插入操作。

    15. lrem : 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
    COUNT 的值可以是以下几种:
    count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
    count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
    count = 0 : 移除表中所有与 VALUE 相等的值

    格式为: lrem key count VALUE

    16. linsert  用于在某个元素前或后插入元素,当指定的元素不存在列表中,则不执行操作;当列表不存在也不执行任何操作。如果key不是列表类型,则返回错误。

    格式为: linsert key BEFORE|AFTER pivot value

    1. # 1. rpush : 从列表右侧推入,即 right push
    2. 127.0.0.1:6379> rpush mylist1 a
    3. 1
    4. 127.0.0.1:6379> rpush mylist1 b c d e f g h
    5. 8
    6. # 2. lpush:从列表左侧推入,即 left push
    7. # 3. rpop : 从列表右侧弹出,即 right pop
    8. # 4. lpop :从列表左侧弹出,即 left pop
    9. # 5. lindex :返回列表的偏移量offset的元素,其实和数组非常类似,从0开始
    10. 127.0.0.1:6379> lindex mylist1 0
    11. a
    12. 127.0.0.1:6379> lindex mylist1 1
    13. b
    14. # 6. lrange:返回列表的startend的子列表,即 [start,end] ,左闭右闭,仅仅是截取列表,不改变原有列表的值。
    15. 127.0.0.1:6379> lrange mylist1 0 -1
    16. a
    17. b
    18. c
    19. d
    20. e
    21. f
    22. g
    23. h
    24. 127.0.0.1:6379> lrange mylist1 1 -2
    25. b
    26. c
    27. d
    28. e
    29. f
    30. g
    31. # 7. llen : 获取列表长度
    32. 127.0.0.1:6379> llen mylist1
    33. 8
    34. # 8. ltrim : 返回列表的截取部分,即 [start,end] ,左闭右闭 ,这个命令与第6条的区别在于 ltrim改变了原有列表的值
    35. 127.0.0.1:6379> ltrim mylist1 1 -2
    36. OK
    37. 127.0.0.1:6379> lrange mylist1 0 -1
    38. b
    39. c
    40. d
    41. e
    42. f
    43. g
    44. # 9. lset:通过索引来设置元素的值
    45. 127.0.0.1:6379> lset mylist1 0 z
    46. OK
    47. 127.0.0.1:6379> lrange mylist1 0 -1
    48. z
    49. c
    50. d
    51. e
    52. f
    53. g
    54. # 10. blpop : 从非空列表中弹出最左侧的元素,示例中的5是timeout值,如果此列表为空,则进行等待或阻塞timeout的时间,单位是秒。当时间到了列表还是空的话,则无任何返回
    55. 127.0.0.1:6379> blpop mylist2 5
    56. 127.0.0.1:6379> blpop mylist3 5
    57. 127.0.0.1:6379> rpush mylist2 csdn
    58. 1
    59. 127.0.0.1:6379> blpop mylist2 5
    60. mylist2
    61. csdn
    62. 127.0.0.1:6379> lrange mylist2 0 -1
    63. # 11. brpop : 这个命令同第10个命令的功能一致,只不过是从右侧弹出
    64. 127.0.0.1:6379> brpop mylist2 5
    65. 127.0.0.1:6379> brpop mylist3 5
    66. 127.0.0.1:6379> rpush mylist2 csdn github gitee
    67. 3
    68. 127.0.0.1:6379> brpop mylist2 5
    69. mylist2
    70. gitee
    71. 127.0.0.1:6379> lrange mylist2 0 -1
    72. csdn
    73. github
    74. # 12. rpoplpush :  这是一个组合的命令,意思是从一个列表右侧弹出,并从左侧推送到另外一个列表中,返回的是弹出的值。
    75. 127.0.0.1:6379> lrange mylist2 0 -1
    76. csdn
    77. github
    78. 127.0.0.1:6379> rpoplpush mylist2 mylist3
    79. github
    80. 127.0.0.1:6379> lrange mylist2 0 -1
    81. csdn
    82. 127.0.0.1:6379> lrange mylist3 0 -1
    83. github
    84. # 13. brpoplpush:这个命令与第12个命令不同之处在于有一个timeout值,单位为秒,b是block的意思,用于阻塞等待,和第10个命令和第11个命令相似。
    85. 127.0.0.1:6379> brpoplpush mylist2 mylist3 5
    86. csdn
    87. 127.0.0.1:6379> lrange mylist2 0 -1
    88. 127.0.0.1:6379> lrange mylist3 0 -1
    89. csdn
    90. github
    91. # 14. lpushx / rpushx : 这个命令是将数据从左侧插入或右侧插入到列表,不同之处在于如果这个列表不存在,则不执行操作。如果这个列表存在,则进行插入操作。
    92. 127.0.0.1:6379> lpushx mylist4 chinanews
    93. 0
    94. 127.0.0.1:6379> lrange mylist4 0 -1
    95. rpushx同理,只是方向不同而已
    96. # 15. lrem Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
    97. COUNT 的值可以是以下几种:
    98. count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT
    99. count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
    100. count = 0 : 移除表中所有与 VALUE 相等的值
    101. 格式为 LREM key count VALUE
    102. 127.0.0.1:6379> rpush mylist2 csdn github gitee google
    103. 4
    104. 127.0.0.1:6379> rpush mylist2 csdn github gitee google
    105. 8
    106. 127.0.0.1:6379> lrange mylist2 0 -1
    107. csdn
    108. github
    109. gitee
    110. google
    111. csdn
    112. github
    113. gitee
    114. google
    115. 127.0.0.1:6379> lrem mylist2 0 csdn
    116. 2
    117. 127.0.0.1:6379> lrange mylist2 0 -1
    118. github
    119. gitee
    120. google
    121. github
    122. gitee
    123. google
    124. 127.0.0.1:6379> lrem mylist2 1 gitee
    125. 1
    126. 127.0.0.1:6379> lrange mylist2 0 -1
    127. github
    128. google
    129. github
    130. gitee
    131. google
    132. 127.0.0.1:6379> lrem mylist2 -1 gitee
    133. 1
    134. 127.0.0.1:6379> lrange mylist2 0 -1
    135. github
    136. google
    137. github
    138. google
    139. # 16. linsert 用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作。当列表不存在时,被视为空列表,不执行任何操作。如果 key 不是列表类型,返回一个错误
    140. 127.0.0.1:6379> linsert mylist2 before github gitee
    141. 5
    142. 127.0.0.1:6379> lrange mylist2 0 -1
    143. gitee
    144. github
    145. google
    146. github
    147. google
    148. 127.0.0.1:6379> linsert mylist2 after github gitee
    149. 6
    150. 127.0.0.1:6379> lrange mylist2 0 -1
    151. gitee
    152. github
    153. gitee
    154. google
    155. github
    156. google

  • 相关阅读:
    Java 事务
    信息检索(五):Query Expansion Using Contextual Clue Sampling with Language Models
    对比学习模型小抄(1)
    云服务器搭建Zookeeper集群
    制作一个简单HTML校园网页(HTML+CSS)学校网站制作 校园网站设计与实现
    风很大的PMP证书真有这么厉害?这是被腾讯/华为招聘时所提到过的证书
    GB28181学习(十)——视音频文件下载
    分省/市/县最低工资标准(2012-2021年)和 全国/省/市/县GDP数据(1949-2020年)
    LeetCode 93 Java 实现
    JavaScript教程(三)之 jQuery
  • 原文地址:https://blog.csdn.net/u010566813/article/details/128143952