• Redis list


    List操作,redis中的List在在内存中按照一个name对应一个List来存储。

    注:列表存入 从右到左

    如图:

    • lpush(name,values)
    • # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
    • # 如:
          # r.lpush('oo', 11,22,33)
          # 保存顺序为: 33,22,11
       
      # 扩展:
          # rpush(name, values) 表示从右向左操作
      View Code
    • lpushx(name,value)
    • # 在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边
    • # 更多:
      # rpushx(name, value) 表示从右向左操作
      View Code
    • llen(name)
    • # name对应的list元素的个数
    • linsert(name, where, refvalue, value))
    • # 在name对应的列表的某一个值前或后插入一个新值
    • # 参数:
          # name,redis的name
          # where,BEFORE或AFTER
          # refvalue,标杆值,即:在它前后插入数据
          # value,要插入的数据
      View Code
    • r.lset(name, index, value)
    • # 对name对应的list中的某一个索引位置重新赋值
    • # 参数:
          # name,redis的name
          # index,list的索引位置
          # value,要设置的值
      View Code
    • r.lrem(name, value, num)
    • # 在name对应的list中删除指定的值
    • # 参数:
          # name,redis的name
          # value,要删除的值
          # num,  num=0,删除列表中所有的指定值;
          # num=2,从前到后,删除2个;
          # num=-2,从后向前,删除2个
      View Code
    • lpop(name)
    • # 在name对应的列表的左侧获取第一个元素并在列表中移除,返回值则是第一个元素
    • # 更多:
          # rpop(name) 表示从右向左操作
      View Code
    • lindex(name, index)
    • #在name对应的列表中根据索引获取列表元素
    • lrange(name, start, end)
    • # 在name对应的列表分片获取数据
    • # 参数:
          # name,redis的name
          # start,索引的起始位置
          # end,索引结束位置
      View Code
    • ltrim(name, start, end)
    • # 在name对应的列表中移除没有在start-end索引之间的值
    •  参数:
          # name,redis的name
          # start,索引的起始位置
          # end,索引结束位置
      View Code
    • rpoplpush(src, dst)
    • # 从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
    • # 参数:
          # src,要取数据的列表的name
          # dst,要添加数据的列表的name
      View Code
    • blpop(keys, timeout)
    • # 将多个列表排列,按照从左到右去pop对应列表的元素
    • # 参数:
          # keys,redis的name的集合
          # timeout,超时时间,当元素所有列表的元素获取完之后,阻塞等待列表内有数据的时间(秒), 0 表示永远阻塞
       
      # 更多:
          # r.brpop(keys, timeout),从右向左获取数据
      View Code
    • brpoplpush(src, dst, timeout=0)
    • # 从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧
    • # 参数:
          # src,取出并要移除元素的列表对应的name
          # dst,要插入元素的列表对应的name
          # timeout,当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒),0 表示永远阻塞
      View Code
  • 相关阅读:
    实现免费WiFi无线共享
    详解spring配置文件
    P1886 滑动窗口 /【模板】单调队列
    P3370 【模板】字符串哈希
    P3371 【模板】单源最短路径(弱化版)
    P3367 【模板】并查集
    P1177 【模板】快速排序
    P3382 【模板】三分法
    P3374 【模板】树状数组 1
    P1226 【模板】快速幂||取余运算
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/8312521.html
Copyright © 2020-2023  润新知