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


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

    一、set集合

    集合的特点是 无序且各不相同的元素

    1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量

    2. smembers : 返回集合包含的所有元素

    3. sismember : 查看某个元素是否存在于集合中

    4. scard : 返回集合中的元素的数量

    5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量

    6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复

    如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。

    如果 count 大于等于集合基数,那么返回整个集合。如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

    该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动

    7. spop : 随机的删除集合中的一个元素,并返回被删除的元素

    8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0

    9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,而不对集合进行任何改动

    10. sdiffstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。而不对集合进行任何改动

    11. sinter : 返回两个集合的交集,而不对集合进行任何改动

    12. sinterstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动

    13. sunion : 返回两个集合的并集,而不对集合进行任何改动

    14. sunionstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动

    1. # 1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量
    2. 127.0.0.1:6379> sadd myset1 csdn
    3. 1
    4. 127.0.0.1:6379> sadd myset1 stackoverflow github gitee juejin oschina google
    5. 6
    6. # 2. smembers : 返回集合包含的所有元素
    7. 127.0.0.1:6379> smembers myset1
    8. gitee
    9. github
    10. csdn
    11. stackoverflow
    12. juejin
    13. google
    14. oschina
    15. # 3. sismember : 查看某个元素是否存在于集合中,返回1代表存在,返回0代表不存在
    16. 127.0.0.1:6379> sismember myset1 gitee
    17. 1
    18. 127.0.0.1:6379> sismember myset1 youtube
    19. 0
    20. # 4. scard : 返回集合中的元素的数量
    21. 127.0.0.1:6379> scard myset1
    22. 7
    23. # 5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量
    24. 127.0.0.1:6379> srem myset1 stackoverflow
    25. 1
    26. 127.0.0.1:6379> srem myset1 youtube
    27. 0
    28. # 6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复
    29. 127.0.0.1:6379> srandmember myset1 3
    30. juejin
    31. gitee
    32. github
    33. 127.0.0.1:6379> srandmember myset1 3
    34. juejin
    35. github
    36. google
    37. 127.0.0.1:6379> srandmember myset1 3
    38. github
    39. oschina
    40. google
    41. 127.0.0.1:6379> srandmember myset1 3
    42. juejin
    43. gitee
    44. oschina
    45. 127.0.0.1:6379> scard myset1
    46. 6
    47. 127.0.0.1:6379> srandmember myset1 6
    48. csdn
    49. github
    50. gitee
    51. juejin
    52. google
    53. oschina
    54. 127.0.0.1:6379> srandmember myset1 7
    55. csdn
    56. github
    57. gitee
    58. juejin
    59. google
    60. oschina
    61. # 7. spop : 随机的删除集合中的一个元素或几个元素,并返回被删除的元素
    62. 格式: spop key_name count
    63. 127.0.0.1:6379> spop myset1 2
    64. google
    65. github
    66. 127.0.0.1:6379> smembers myset1
    67. csdn
    68. gitee
    69. juejin
    70. oschina
    71. # 8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0
    72. # 首先判断某个元素是否在集合中
    73. 127.0.0.1:6379> sismember myset1 csdn
    74. 1
    75. # 从myset1移动某个元素到myset2
    76. 127.0.0.1:6379> smove myset1 myset2 csdn
    77. 1
    78. # 查看myset1的所有元素
    79. 127.0.0.1:6379> smembers myset1
    80. gitee
    81. juejin
    82. oschina
    83. # 查看myset2的所有元素
    84. 127.0.0.1:6379> smembers myset2
    85. csdn
    86. # 9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,数学上的差集操作,
    87. 127.0.0.1:6379> smembers myset1
    88. github
    89. gitee
    90. juejin
    91. google
    92. oschina
    93. 127.0.0.1:6379> smembers myset2
    94. csdn
    95. github
    96. google
    97. 127.0.0.1:6379> sdiff myset1 myset2
    98. juejin
    99. gitee
    100. oschina
    101. # 10. sdiffstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
    102. # myresult是保存结果的集合
    103. 127.0.0.1:6379> sdiffstore myresult myset1 myset2
    104. 3
    105. 127.0.0.1:6379> smembers myresult
    106. juejin
    107. gitee
    108. oschina
    109. 127.0.0.1:6379> smembers myset1
    110. github
    111. gitee
    112. juejin
    113. google
    114. oschina
    115. 127.0.0.1:6379> smembers myset2
    116. csdn
    117. github
    118. google
    119. # 11. sinter : 返回两个集合的交集
    120. # 12. sinterstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
    121. 127.0.0.1:6379> sinter myset1 myset2
    122. github
    123. google
    124. 127.0.0.1:6379> sinterstore myresult myset1 myset2
    125. 2
    126. 127.0.0.1:6379> smembers myresult
    127. github
    128. google
    129. 127.0.0.1:6379> smembers myset1
    130. github
    131. gitee
    132. juejin
    133. google
    134. oschina
    135. 127.0.0.1:6379> smembers myset2
    136. csdn
    137. github
    138. google
    139. # 13. sunion : 返回两个集合的并集
    140. # 14. sunionstore :  这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
    141. 127.0.0.1:6379> sunion myset1 myset2
    142. csdn
    143. github
    144. gitee
    145. juejin
    146. google
    147. oschina
    148. 127.0.0.1:6379> sunionstore myresult myset1 myset2
    149. 6
    150. 127.0.0.1:6379> smembers myresult
    151. csdn
    152. github
    153. gitee
    154. juejin
    155. google
    156. oschina
    157. 127.0.0.1:6379> smembers myset1
    158. github
    159. gitee
    160. juejin
    161. google
    162. oschina
    163. 127.0.0.1:6379> smembers myset2
    164. csdn
    165. github
    166. google

     

      

  • 相关阅读:
    Open Cascade旋转变换平行线
    网站架构演变、LNP+Mariadb数据库分离、Web服务器集群、Keepalived高可用
    2011-2019年全国30省绿色经济发展指数和子指数数据
    【go】两数求和
    脂肪 、肥胖与健康
    shell脚本(五)函数
    创建一个简单的外卖订餐系统
    【01方程组的几何解释】
    解决uniapp修改内置组件样式,在微信中不生效问题
    ASP.NET Core - 依赖注入(一)
  • 原文地址:https://blog.csdn.net/u010566813/article/details/128151901