之前详细介绍了 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个元素