zoukankan      html  css  js  c++  java
  • redis3 list类型

    list类型及操作
    list是一个链表结构,主要功能是push,pop、获取一个范围的所有值等,操作中key理解为链表的名字。redis的list类型其实就是一个每个子元素都是string类型的双向链表。我么可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈又可以作为队列。

        lpush
        在key对应的list头部添加字符串元素,返回list中的个数,先进后出和栈一样
        例如:
        lpush mylist 'world'
        lpush mylist 'hello'
        lrange mylist 0 -1 hello world

        rpush
        在key的尾部添加元素,后进后出和队列一样
        例如:
        rpush mylist haoxiang
        rpush mylist lamp
        lrange mylist 0 -1  //结果是 haoxiang  lamp

        linsert
        在 key 对应的list的指定位置前或后添加字符串,从尾到头的方向为前
        例如:
        rpush mylist2 one
        rpush mylist2 two
        linsert mylist2 before two three
        lrange mylist2 0 -1 //结果是 one three two

        lset
        修改list中指定下标的值,下标方法和PHP数组的数组索引一样
        例如:
        rpush mylist3 hello
        lset mylist3 0 world
        lrange mylist3 0 -1  //结果是 world

        lrem
        从 key 对应的list中删除n个和value相同的元素(n<0 从尾部删除,n=0全部删除)
        例如:
        rpush mylist5 hello
        rpush mylist5 hello
        lrem mylist5 1 hello //
        
        ltrim
        保留指定key的值返回内的数据,其余部分删除
        例如:
        ltrim mylist6 1 -1

        lpop
        从list的头部删除元素,并返回删除元素

        rpop
        从list的尾部删除元素,并返回删除元素

        rpop|push
        从第一个list的尾部移除元素,并添加到第二个list的头部
        例如:
        rpop|push mylist1 mylist2

        lindex
        返回 list 中索引位置的值
        例如:
        lindex mylist5 0

        llen
        返回 list 中元素的个数

        lrange

  • 相关阅读:
    〖Linux〗Kubuntu设置打开应用时就只在打开时的工作区显示
    〖Linux〗Kubuntu, the application 'Google Chrome' has requested to open the wallet 'kdewallet'解决方法
    unity, dll is not allowed to be included or could not be found
    android check box 自定义图片
    unity, ios skin crash
    unity, Collider2D.bounds的一个坑
    unity, ContentSizeFitter立即生效
    类里的通用成员函数应声明为static
    unity, Gizmos.DrawMesh一个坑
    直线切割凹多边形
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/3864921.html
Copyright © 2011-2022 走看看