zoukankan      html  css  js  c++  java
  • 04 redis list结构及命令详解

    一:link 链表结构
    
    lpush key value 
    作用: 把值插入到链接头部[右边]
    注意:rpush key  value   插入到左边
    rpop key
    作用: 返回并删除链表尾元素
    
    rpush,lpop: 不解释
    
    注意:lpop   key  表示删除一个列表的元素
    lrange key start  stop
    作用: 返回链表中[start ,stop]中的元素
    如:lrange char 1 3
    规律: 左数从0开始,右数从-1开始
    查看全部
    如:lrange char 0 -1
    
    lrem key count value
    作用: 从key链表中删除 value值
    注: 删除count的绝对值个value后结束
    Count>0 从表头删除
    Count<0 从表尾删除
    
    ltrim key start stop
    作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key
    
    lindex key index
    作用: 返回index索引上的值,
    如  lindex key 2
    
    llen key
    作用:计算链接表的元素个数
    redis 127.0.0.1:6379> llen task
    (integer) 3
    redis 127.0.0.1:6379> 
    
    linsert  key after|before search value
    作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
    注: 一旦找到一个search后,命令就结束了,因此不会插入多个value
    
    
    rpoplpush source dest
    作用: 把source的尾部拿出,放在dest的头部,
    并返回 该单元值
    
    场景: task + bak 双链表完成安全队列
    Task列表                             bak列表
    		
    		
    
    
    业务逻辑:
    1:Rpoplpush task bak
    2:接收返回值,并做业务处理
    3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务
    
    
    brpop ,blpop  key timeout
    作用:等待弹出key的尾/头元素, 
    Timeout为等待超时时间
    如果timeout为0,则一直等待
    
    
     
    
    

      

  • 相关阅读:
    python学习永久存储和异常处理
    python学习os文件系统模块
    python学习文件
    python学习集合
    python学习字典
    python学习递归
    python学习函数
    python学习序列
    js加入收藏
    判断dataset和datareader中是否存在某列
  • 原文地址:https://www.cnblogs.com/hgj123/p/4304862.html
Copyright © 2011-2022 走看看