之前详细介绍了 Redis命令 - Lists命令组常用命令,同样的命令,本文将用python调用redis库封装好的方法。
要操作的Lists命令如下
1、LSET key index value
2、LINSERT key BEFORE|AFTER pivot value
3、LPUSH key value [value ...]
4、RPUSH key value [value ...]
5、LPUSHX key value [value...]
6、RPUSHX key value [value...]
7、LPOP key
8、RPOP key
9、LLEN key
10、LINDEX key index
11、LRANGE key start stop
Python连接redis
python
import redis
from config.VAR import INT_REDIS_HOST, INT_REDIS_PORT, INT_REDIS_PASSWORD
# 便于修改,将redis的连接配置在VAR.py中,管理这些常量
r = redis.StrictRedis(host=INT_REDIS_HOST, port=INT_REDIS_PORT, password=INT_REDIS_PA
Python使用Lists命令
python
# LSET key index value
# 前提:redis中必须已经有此key,否则会报no such key的error。我创建的mylist是一个空list
print(r.lset("mylist", 0, "1")) # 若key存在,返回: True
# LRANGE key start stop
print(r.lrange("mylist", 0, -1)) # list的值:[b'1'],只有这一个元素
# LINSERT key BEFORE|AFTER pivot value
# 在 1 前边插入 -2
print(r.linsert("mylist", "before", "1", "-2")) # 返回值2:操作成功后list的长度
print(r.lrange("mylist", 0, -1)) # [b'-2', b'1']
# 在 -2 后边插入 3
print(r.linsert("mylist", "after", "-2", "3")) # 3
print(r.lrange("mylist", 0, -1)) # [b'-2', b'3', b'1']
# LPUSH key value [value ...]
print(r.lpush("mylist", "4")) # 返回值4:操作成功后list的长度
print(r.lrange("mylist", 0, -1)) # [b'4', b'-2', b'3', b'1']
# 多值push,依次从左到右将值push进list,例如下面:先推的7,再推的8
print(r.lpush("mylist", *["7", "8"])) # 6
print(r.lrange("mylist", 0, -1)) # [b'8', b'7', b'4', b'-2', b'3', b'1']
# RPUSH key value [value ...]
print(r.rpush("mylist", "5")) # 7
print(r.lrange("mylist", 0, -1)) # [b'8', b'7', b'4', b'-2', b'3', b'1', b'5']
print(r.rpush("mylist", *["9", "10"])) # 9
print(r.lrange("mylist", 0, -1)) # [b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10']
# LPUSHX key value [value...]
print(r.lpushx("mylist", "5")) # 10
print(r.lrange("mylist", 0, -1)) # [b'5', b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10']
# RPUSHX key value [value...]
print(r.rpushx("mylist", "8")) # 11
print(r.lrange("mylist", 0, -1)) # [b'5', b'8', b'7', b'4', b'-2', b'3', b'1', b'5', b'9', b'10', b'8']
# LPOP key
# 此操作会删除元素
print(r.lpop("mylist")) # 参数count默认是1,返回值:b'5',返回的是第一个值
print(r.lpop("mylist", 2)) # [b'8', b'7']
print(r.lrange("mylist", 0, -1)) # [b'4', b'-2', b'3', b'1', b'5', b'9', b'10', b'8']
# RPOP key
# 此操作会删除元素
print(r.rpop("mylist")) # 参数count默认是1,返回值:b'8',返回的是最后一个值
print(r.rpop("mylist", 3)) # [b'10', b'9', b'5'],注意弹出的顺序
print(r.lrange("mylist", 0, -1)) # [b'4', b'-2', b'3', b'1']
# LLEN key
print(r.llen("mylist")) # 返回值4,list的长度
# LINDEX key index
print(r.lindex("mylist", 3)) # 返回值b'1'
print(r.lindex("mylist", 5)) # 返回值None, 因为索引超过了范围,只有4个元素