List常用命令
list 类似一个双端队列,即可以从左边 push 和 pop,也可以从右边 push 和 pop,底层其实是一个双端链表。
可以实现分布式消息队列 -- lpush/rpush/rpop/lpop。
lpush list01 1 2 3 4 5
key 为 list01,value 为 1,2,3,4,5,从左向右push(从左边加入)rpush list01 a b
从右往左向 list01 中 push a b:lrange list01 0 -1
从左向右获取 list01 中的所有元素:lrange list01 0 3
从左向右获取 list01 中的前四个数据。注:没有 rrange ,没有 rrange!lpop list01
弹出 list01 中最左边的元素:rpop list01
弹出 list01 最右边的元素:lindex list01 2
取 list01 索引为 2 的元素,没有rindexllen list01
获得 list01 中元素的个数,没有rlenlrem list01 2 3
从左往右删除 list01 中的 2 个 3:ltrim list01 1 3
截取list01索引 1 到 3 的值后再赋值给 list01:rpoplpush list01 list02
把 list01 最右边的一个元素 pop 出来,从左边 push 进 list02:lset list01 1 4
设置 list01 的索引为 1 的位置的值为 4:linsert list01 before 3 1
在 list01 所指向的列表的值为 3 的元素前插入 1:linsert list01 after 3 9
在 list01 所指向的列表的值为 3 的元素后插入 9:
Set常用命令
Set中value不可重复。相当于Java中的HashSet。
sadd set01 1 2 3 4 5
创建一个 set 集合,里面有1,2,3,4,5 这 5 个元素(set类型的数据会自动去重):smembers set01
查看 set01 里面的元素:sismember set01 6
判断 6 是否在 set01 集合里面(是:1,否:0):scard set01
统计 set01 里面元素的个数:srem set01 1
移除 set01 集合里面的 1(成功:1,失败:0):srandmember set01 2
随机返回 set01 中的两个数:spop set01
随机从 set01 中出栈一个元素:smove set01 set02 5
将 set01 中的 5 移动到 set02:sdiff set01 set02
set0中的所有元素减去 set02 中与 set01 共有的那部分:sinter set01 set02
取 set01 和 set02 的交集:sunion set01 set02
取 set01 和 set02 的并集: