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