首页 > 技术分享 > Redis
收藏

Redis的list(列表)操作

10/27 14:48
大潇博客 原创文章,转载请标明出处

Redis的list是简单的字符串列表,需要按照插入顺序(左推、右推)排序


1、向左推,把值插入到列表头部,结果为倒序,后面每次向左推的值,总在头部(第一位)

lpush key value_1 value_2 value_3 ...

例如

lpush user a b c

# (integer) 3

# 实际输出 c b a


2、向右推,把值插入到列表尾部,从左到右插入(正常顺序),后面每次向右推的值,都在末尾

rpush key value_1 value_2 ...

例如

rpush text a b c

# (integer) 3

# 实际输出 a b c

向左向右推案例

lpush user Tom

#向左推了一个,当前顺序为:Tom

lpush user Jack

#向左推了一个,当前顺序为:Jack Tom

rpush user Lucy

#向右推了一个,当前顺序为:Jack Tom Lucy


3、返回列表中的元素

lrange key start stop

规律:

左数从0开始,右数从-1开始(-1代表右侧的0)

0 -1 表示取全部的值,start为-1时,stop只能为-1,这表示取最后一个值,stop为其它正数或负数,均返回空值

例如

# 向user左推5个值

lpush user Tom Jack Lucy Alex Cary

# 取出这五个值

lrange user 0 4

# 取出全部

lrange user 0 -1


4、返回并删除键表头(左侧)的元素

lpop key

例如

# 向user左推3个值

lpush user Alex Cary Julia

# 返回并删除头部的Julia

lpop user

# 输出Julia,并删除Julia,user中剩余的顺序为 Cary Alex


5、返回并删除键表尾(右侧)的元素

rpop key

例如

# 向user右推3个值

rpush user Tom Jack Lucy

# 返回并删除尾部的Lucy

rpop user

# 输出Lucy,并删除Lucy,user中剩余的顺序为 Tom Jack


6、从列表中删除某个数量的某个值

lrem key count value

说明:

count>0:从表头删除

count<0:从表尾删除

最终将删除count绝对值个value

例如

rpush letter a b c a c a d

lrem letter 2 a

# 删除letter中的a,从表头开始删,共删除2个

lrem letter-1 a

# 删除letter中的a,从表尾开始删,共删除1个


7、返回列表中指定索引的值,下标从0开始

lindex key index


8、计算元素个数:llen key

llen key

例如

# 向User中左推5个

lpush User Tom Lucy Jack Alex Cary

llen User

# (integer) 5


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311