Python_Redis_List
from redis import Redis
conn = Redis()
# lpush(name, values) 存值, 从左至右存值, 从下至上 顺序一致
conn.lpush('list_test', 'sc')
conn.lpush('list_test', 'cc')
conn.lpush('list_test', 'zz')
conn.lpush('list_test','lw', 'll', 'lq')
# rpush(name, values) 存值, 从右至左存值, 从上至下 顺序一致
conn.rpush('list_test', 'a', 'b', 'c')
# lpushx(name, value) 排序与lpush相同, 但只有在name存在时才能执行成功
conn.lpushx('list_test1', 'sc')
conn.lpushx('list_test', 'sc')
# llen(name) # 获取长度
print(conn.llen('list_test'))
# linsert(name, where, refvalue, value) 指定位置插值, 需要注意的是, list类型可有重复值, 默认是最新的
# 参数:
# name,redis的name
# where,BEFORE或AFTER(小写也可以)
# refvalue,标杆值,即:在它前后插入数据(如果存在多个标杆值,以找到的第一个为准)
# value,要插入的数据
conn.linsert('list_test', 'before', 'sc', '521')
conn.linsert('list_test', 'after', 'sc', '520')
# lset(name, index, value) 指定现有的index, 修改值, 超出报错
conn.lset('list_test', 1, 'cc')
# lrem(name, count, vaule) 删除指定的值, 并指定次数
# 参数:
# name,redis的name
# value,要删除的值
# count, count=0,删除列表中所有的指定值;
# count=2,从前到后,删除2个;
# count=-2,从后向前,删除2个
conn.lrem('list_test', 2, 'cc')
# lpop(name)/rpop(name) 在name对应的列表的左侧/右侧获取第一个元素并在列表中移除,返回值则是第一个元素
print(conn.lpop('list_test'))
# lindex(name, index) 根据索引取值
print(conn.lindex('list_test', 3))
# lrange(name, start, end) 切片取值(前闭后闭形式)
print(conn.lrange('list_test', 0, 5))
# ltrim(name, start, end) 切片移除范围外的值
conn.ltrim('list_test', 2, 6)
# rpoplpush(src, dst)
# 从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
# 参数:
# src,要取数据的列表的name
# dst,要添加数据的列表的name
conn.rpoplpush('list_test', 'list_test1')
# blpop(keys, timeout)/brpop(keys, timeout) 从左至右/从右至左取值
print(conn.blpop('list_test', 5000))
print(conn.brpop('list_test1', 5000))
conn.close()