命令列表:
操作 | 命令 | 参数 | 返回值 |
---|---|---|---|
左添加插入 | lpush | LPUSH key value [value …] | 列表当前长度 |
右添加插入 | rpush | RPUSH key value [value …] | 列表当前长度 |
已经存在的列表的左追加 | lpushx | LPUSHX key value | 列表当前长度 |
已经存在的列表的右追加 | rpushx | RPUSHX key value | 列表当前长度 |
指定元素前后插入元素 | linsert | LINSERT key BEFORE | AFTER pivot value |
修改指定下标的值 | lset | LSET key index value | 布尔 |
查看具体下标的值 | lindex | LINDEX key index | 返回具体的值 |
查看指定下标范围的元素列表(位移) | lrange | LRANGE key start stop | 列表 |
查看列表长度 | llen | LLEN key | 数字 |
左删除 | lpop | LPOP key | 左边第一个元素的值 |
右删除 | rpop | RPOP key | 右边第一个元素的值 |
删除指定VALUE | lrem | LREM key count value | 删除的数量 |
删除指定区域外的元素 | ltrim | LTRIM key start stop | 布尔 |
元素移动 | rpoplpush | RPOPLPUSH source destination | 移动的值 |
阻塞删除 | blpop | BLPOP key [key …] timeout | 列表:列表,元素 |
左添加插入:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#列表的添加,插入(头添加)
print cli.lpush("list","1","a",2)
右添加插入:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#列表的添加,插入(尾添加)
print cli.rpush("list","1","a",2)
已经存在的列表的左追加:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#对已经存在列表的追加(头追加);
print cli.lpushx("list","hello,word")
print cli.lpushx("list1","no")
已经存在的列表的右追加:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#对已经存在列表的追加(尾追加);
print cli.rpushx("list","hello,word")
print cli.rpushx("list1","no")
指定元素前后插入元素:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#在指定元素前后插入元素
print cli.linsert(name="list",where="before",refvalue="hello,word",value="lijing")
print cli.linsert(name="list",where="after",refvalue="hello,word",value="lijing")
修改指定下标的值:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#修改指定下标的值
print cli.lset(name="list",index=0,value="liuyy")
查看具体下标的值:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#查看具体下标的值
print cli.lindex("list",1)
查看指定下标范围的元素列表(位移):
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#查看指定下标范围的元素列表(位移)
print cli.lrange(name="list",start=2,end=3)
查看列表长度:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#返回列表的长度
print cli.llen(name="list")
左删除:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#删除列表的头元素,返回值为删除的值
print cli.lpop(name="list")
右删除:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#删除列表的尾元素,返回值为删除的值
print cli.rpop("list")
删除指定的value:
删除count个等于value的元素,且根据count的值决定方向
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#删除count个等于value的元素,且根据count的值决定方向
print cli.lrem(name="list",count=0,value=2)
print cli.lrem(name="list",count=-1,value=1)
print cli.lrem(name="list",count=1,value="a")
删除指定区域外的元素:
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#删除列表中指定区域外的元素
print cli.ltrim(name="list",start=0,end=5)
元素移动:
- 将一个列表的尾元素添加到另一个列表的头元素,并将其打印出来
- 安全队列;
- 循环模式:1.获取元素的一个新方式 2.多个客户端处理同一组数据
-
命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
-
将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。
-
将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
cli.lpush("list1","start")
#将一个列表的尾元素添加到另一个列表的头元素,并将其打印出来{安全队列;循环模式:1.获取元素的一个新方式 2.多个客户端处理同一组数据}
print cli.rpoplpush(src="list",dst="list1")
print cli.rpoplpush(src="list",dst="list")
阻塞删除:
- 删除列表的头元素,当头元素不存在时,等待timeout时长(秒)
- 同时存在命令:blpop,brpoplpush
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)
#删除列表的头元素,当头元素不存在时,等待timeout时长(秒)
#同时存在命令:blpop,brpoplpush
print cli.blpop(keys="list1",timeout=10)