• Python-Redis的List操作


    Redis列表是简单的字符串列表,一个列表可以包含超过40亿个元素

    lpush(name,values):在name对应的list中添加元素,每个新的元素都添加到列表的最左边

    rpush(name, values):在name对应的list中添加元素,每个新的元素都添加到列表的最右边

    lrange(name, start, end):在name列表中分片获取数据,start为索引的起始位置,end为索引结束位置

    127.0.0.1:6379> lpush name jack john andy jane
    (integer) 4
    127.0.0.1:6379> lrange name 0 -1
    1) "jane"
    2) "andy"
    3) "john"
    4) "jack"
    127.0.0.1:6379> rpush web html javascript php
    (integer) 3
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    

    lpushx(name,value):在name对应的list中添加元素,只有name已经存在时,值才添加到列表的最左边

    rpushx(name, value):在name对应的list中添加元素,只有name已经存在时,值才添加到列表的最右边

    127.0.0.1:6379> lpushx name alex
    (integer) 5
    127.0.0.1:6379> lrange name 0 -1
    1) "alex"
    2) "jane"
    3) "andy"
    4) "john"
    5) "jack"
    127.0.0.1:6379> lpushx name1 alex
    (integer) 0
    127.0.0.1:6379> rpushx web asp
    (integer) 4
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    4) "asp"
    

    llen(name):name对应的list元素的个数

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    4) "asp"
    127.0.0.1:6379> llen web
    (integer) 4
    

    lindex(name, index):在name对应的列表中根据索引获取列表元素

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    127.0.0.1:6379> lindex web 1
    "javascript"
    

    linsert(name, where, refvalue, value):在name对应的列表的某一个值前或后插入一个新值

    where为BEFORE或AFTER,refvalue为标杆值,即要插到的地方,value为要插入的数据

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    4) "asp"
    127.0.0.1:6379> linsert web before javascript css
    (integer) 5
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    

    lset(name, index, value):对name对应的list中的某一个索引位置重新赋值,index为list的索引位置,value为要设置的值

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    127.0.0.1:6379> lset web -1 aspx
    OK
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "aspx"
    

    lrem(name, num, value):在name对应的list中删除指定的值

    num=0时删除列表中所有的指定值,num=2时从前到后,删除2个,num=-2时从后向前,删除2个,value为要删除的值

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "html"
    4) "javascript"
    5) "php"
    6) "aspx"
    127.0.0.1:6379> lrem web 1 html
    (integer) 1
    127.0.0.1:6379> lrange web 0 -1
    1) "css"
    2) "html"
    3) "javascript"
    4) "php"
    5) "aspx"
    

    lpop(name):在name对应的list的左边获取第一个元素返回并移除

    rpop(name):在name对应的list的右边获取第一个元素返回并移除

    127.0.0.1:6379> lrange web 0 -1
    1) "css"
    2) "html"
    3) "javascript"
    4) "php"
    5) "aspx"
    127.0.0.1:6379> lpop web
    "css"
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    4) "aspx"
    127.0.0.1:6379> rpop web
    "aspx"
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "javascript"
    3) "php"
    

    ltrim(name, start, end):在name对应的list中移除没有在start到end索引之间的值,start为索引的起始位置,end为索引结束位置

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    127.0.0.1:6379> ltrim web 1 3
    OK
    127.0.0.1:6379> lrange web 0 -1
    1) "css"
    2) "javascript"
    3) "php"
    

    rpoplpush(src, dst):从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边,src为要取数据的列表,dst为要添加数据的列表

    127.0.0.1:6379> lrange name 0 -1
    1) "alex"
    2) "jane"
    3) "andy"
    4) "john"
    5) "jack"
    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    127.0.0.1:6379> rpoplpush name web
    "jack"
    127.0.0.1:6379> lrange name 0 -1
    1) "alex"
    2) "jane"
    3) "andy"
    4) "john"
    127.0.0.1:6379> lrange web 0 -1
    1) "jack"
    2) "html"
    3) "css"
    4) "javascript"
    5) "php"
    6) "asp"
    

    brpoplpush(src, dst, timeout):从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧

    src为取出并要移除元素的列表,dst为要插入元素的列表对应的name,timeout为当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒),0 表示永远阻塞

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    127.0.0.1:6379> lrange name 0 -1
    1) "alex"
    2) "jane"
    3) "andy"
    4) "john"
    127.0.0.1:6379> brpoplpush name web 1
    "john"
    127.0.0.1:6379> lrange web 0 -1
    1) "john"
    2) "html"
    3) "css"
    4) "javascript"
    5) "php"
    6) "asp"
    127.0.0.1:6379> lrange name 0 -1
    1) "alex"
    2) "jane"
    3) "andy"
    

    blpop(keys, timeout):获取并移除列表从左往右的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现元素为止

    brpop(keys, timeout):获取并移除列表从左往右的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现元素为止

    timeout为超时时间,当元素所有列表的元素获取完之后,阻塞等待列表内有数据的时间(秒), 0 表示永远阻塞

    127.0.0.1:6379> lrange web 0 -1
    1) "html"
    2) "css"
    3) "javascript"
    4) "php"
    5) "asp"
    127.0.0.1:6379> blpop web 1
    1) "web"
    2) "html"
    127.0.0.1:6379> lrange web 0 -1
    1) "css"
    2) "javascript"
    3) "php"
    4) "asp"
    127.0.0.1:6379> brpop web 1
    1) "web"
    2) "asp"
    127.0.0.1:6379> lrange web 0 -1
    1) "css"
    2) "javascript"
    3) "php"
    
  • 相关阅读:
    深入学习Make命令和Makefile(上)
    make命令
    ubuntu 重启网络方法--通过杀死进程重启网络
    悟空遥控器 --- 手机投屏到电视 播放视频
    组织结构图 --- 商务
    软件和数据库
    因果图---鱼骨图
    流程图 --- BPMN规范简介
    异次元软件
    Free Download Manager (FDM) 中文版
  • 原文地址:https://www.cnblogs.com/sch01ar/p/8473804.html
Copyright © 2020-2023  润新知