单值多value
lpush/rpush/lrange
lpush list01 1 2 3 4 5 :可以理解为从左到右依次入栈
lrange list01 0 -1:可以理解为将list01 所有依次出栈,那么你会得到 5 4 3 2 1
rpush list02 1 2 3 4 5 :可以理解为从右到左依次入栈
lrange list02 0 -1:可以理解为将list02所有依次出栈,那么会得到1 2 3 4 5
lpop/rpop
lrange list01 0 -1 :你会得到 5 4 3 2 1
lpop list01:从栈顶出元素。得到5
rpop list01:从栈底出元素。得到1
注意弹出栈过后,list里面就没有这些元素了。
lindex:按照索引下标获得元素(从上到下)
lrange list01 0 -1:4 3 2
lrange list02 0 -1:2 3 4
lindex list01 3 :你会得到nil
lindex list02 2:你会得到4
llen:得到当前list的长度
llen list01 :得到3
lrem key 删key个value
rpush list03 1 1 1 2 2 2 3 3 3 4 4 4 5 6 7
lrem list03 2 3:删除这个list03中的两个三
ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
del list01 :删除这个List
lpush list01 1 2 3 4 5 6 7 8
ltrim list01 0 4:将list01中的下标0到4的元素截取出来并且赋值给list01
lrange list01 0 -1: 8 7 6 5 4
rpoplpush 源列表 目的列表:将源列表从底出栈一位给目的列表的头部
lrange list01 0 -1:8 7 6 5 4
lrange list02 0 -1:2 3 4
rpoplpush list01 list02:将list01的最底元素出栈给list02进行压栈
lrange list02 0 -1:4 2 3 4
lset key index value:给list中具体某个下标设值
lrange list01 0 -1:8 7 6 5
lset list01 1 x:给list01的下标为1的元素设值为x
lrange list01 0 -1:8 x 6 5
linsert key before/after 值1 值2:在key列表中的值1的前面或者后面插入一个值2
lrange list01 0 -1:8 x 6 5
linsert list01 before x java
lrange list01 0 -1:8 java x 6 5
linsert list01 after x oracle
lrange list01 0 -1:8 java x oracle 6 5
性能总结:
它是一个字符串链表,left、right都可以插入添加;
如果键不存在,常见新的链表
如果键已存在,新增内容
如果值全移除,对应的键也就消失二两
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。
sadd/smembers/sismember
sadd set01 1 1 2 2 3 3 :将只会塞入1 2 3
smembers set01 0 -1:1 2 3 呈现Set中的所有元素
sismember set01 1:判断这个Set中有没有1
scard:获取集合里面的元素个数
scard set01 :3 获取set01中的元素个数、
srem key value:删除集合中元素
srem set01 3
smembers set01 :1 2
srandmember key 某个整数(随机出几个数)
红包获得者随机出现…
spop key 随机出栈
sadd set01 1 2 3 4 5 6 7 8
smembers set01 : 1 2 3 4 5 6 7 8
spop set01:将会随机得到其中给的一个元素
smove key1 key2 value: 作用是将key1里的value赋给key2
sadd set02 x y z
smove set01 set02 5:将set01中的5赋给set02
数学集合类
del set01 删除set01
del set02 删除set02
sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集:sdiff
sdiff set01 set02 :得到set01减去set02的差集 4 5
交集:sinter
sinter set01 set02:得到两个set的交集:1 2 3
并集:sunion
sunion set01 set02:得到两个set的并集:1 2 3 4 5 a b