Redis 四 List结构常用命令

1.存储数据

1.1 批量存储数据,可重复

左侧插入:lpush key value [value,value]

右侧插入:rpush key value [value,value]

这时候数据应该是 mmp ycy wxy 7。

 

1.2.存储数据,必须是list类型的key存在才能插入,不能批量

左侧插入:lpushx key value 

右侧插入:rpushx key value

 

 这时候数据应该是 fj mmp ycy wxy 7。

 

1.3.存储数据,存储时指定索引位置,会覆盖原有数据

lset key index value

 

  这时候数据应该是 fj mmp ycy wxy ddd。

 

 

2.获取数据

2.1.获取指定索引范围内的数据

lrange key start stop

start 从0开始

stop -1表示倒数第一个,-2表示倒数第二个

 

 

2.2.指定索引位置的数据

lindex key index

 

 

2.3.获取整个列表的长度

llen key

 

2.4弹栈方式获取数据,左侧弹出或右侧弹出,弹出的数据从List中移除了,这种其实算是查询和删除的结合

左侧弹出:lpop  key

右侧弹出:rpop key

 

3.删除数据

3.1 lrem  key count value

删除列表中count 个 value,count>0时从左侧删,count<0时从右侧删,count==0删除全部

 

 先是从左侧,删除2个value=7,再删除所有的value=7。

 

3.2 保留列表中指定范围内的数据,其他都移除

ltrim key start stop,参数跟lrange一样

 

 保留了0到2索引对应的值。

 

3.3 将一个列表的最后一个数据插入到另一个列表的第一个位置

rpoplpush key1 key 2

其实就是弹出和存储操作的结合,但是具有原子性

 

 从右侧顺序移除value到了新的列表superstar的左侧。

 

PS:如果要求不高,可以用list做消息队列,lpush和brpop,但是要注意异常后的重试,因为redis内置连接长时间阻塞后会断开。

Brpop 命令移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

posted @ 2020-12-11 14:52  luytest  阅读(159)  评论(0编辑  收藏  举报