zoukankan      html  css  js  c++  java
  • Redis学习篇(四)之List类型及其操作

    Redis的List是一个双向链表

    LPUSH

    作用:向列表左端添加元素

    语法:LPUSH key value value...

    从左到右逐个添加到左端,前面的先添加, 可以一次添加多个元素

    RPUSH

    作用:向列表右端添加元素

    语法:RPUSH key value, value...

    LPUSHX

    作用: 向列表左端添加元素,只有key存在才可以添加

    语法:LPUSH key value

    一次只能添加一个元素

    RPUSHX

    作用: 向列表右端添加元素,只有key存在才可以添加

    语法:RPUSH key value

    一次只能添加一个元素

    LPOP

    作用:将列表左端的元素弹出

    语法:LPOP key

    RPOP

    作用: 将列表右端的元素弹出

    语法: RPOP key

    不存在就nil

    LLEN

    作用:获得列表的长度

    语法:LLEN key

    不存在就返回0

    LRANGE

    作用: 获取列表片段

    语法: LRANGE key start stop

    包含最后的索引值

    如果start比列表的长度还大,则返回空

    LREM

    作用:删除指定的值

    语法: LREM key count value

    count值由以下几类型:
    count>0: 从列表的头部开始,向尾部搜索,移除与value相等的count个元素
    count<0: 从列表的尾部开始,向头部搜索,移除与value相等的count个元素
    count=0: 移除列表中全部的与count相等的值

    LINDEX

    作用:获得指定索引元素的值

    语法: LINDEX key index

    LSET

    作用:设置指定索引的值

    语法:LSET key index value

    LTRIM

    作用:只保留列表的片段

    语法:LTRIM key start stop

    当start大于列表长度,则被清空

    LINSERT

    作用:向列表插入元素

    语法:LINSERT key BEFORE|AFTER pivot value

    LINSERT key BEFORE a hello
    向key这个列表中,a之前插入一个元素hello
    成功返回列表的长度
    如果a不存在,则返回-1
    对空列表不可用,返回0

    RPOPLPUSH

    作用: 弹出右边元素,添加到左边,是一个原子操作, 返回弹出的元素

    语法: RPOPLPUSH source destination

    可以是同一个列表
    source不存在时,返回nil

    BLPOP

    作用:BLPOP是LPOP的阻塞版本,将第一个不为空的列表弹出

    语法:BLPOP key [key...] timeout

    timeout为0表示无限期等待
    如果列表为空,则会在timeout时间之内一直等待, 当列表被添加之后,会弹出此列表,返回阻塞时间
    支持多客户端操作

  • 相关阅读:
    LeetCode算法题-Find Pivot Index(Java实现)
    LeetCode算法题-Longest Word in Dictionary(Java实现)
    LeetCode算法题-1-bit and 2-bit Characters(Java实现)
    2016-8-4学习正则表达式
    doT 这个模板 是怎么实现的?
    manually Invoking Model Binding / Model Binding /Pro asp.net mvc 5
    隐隐约约 听 RazorEngine 在 那里 据说 生成代码 很 美。
    web api 的 安全 认证问题 , 对外开放 的 时候 需要考虑到安全的问题
    鼠标滑过显示图片
    页面加载中效果实现
  • 原文地址:https://www.cnblogs.com/cnkai/p/7501143.html
Copyright © 2011-2022 走看看