`
iluoxuan
  • 浏览: 579791 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

4:list类型

 
阅读更多

list 是一个链表结构,主要功能是 push、pop、获取一个范围的所有值等等,操作中 key 理

解为链表的名字。

Redis 的 list 类型其实就是一个每个子元素都是 string 类型的双向链表。链表的最大长度是(2

的 32 次方)。我们可以通过 push,pop 操作从链表的头部或者尾部添加删除元素。这使得 list

既可以用作栈,也可以用作队列。

  lpush, rpush; 

  1:lpush 是在头部插入, rpush是在尾部插入

redis 127.0.0.1:6378> lpush mylist 'list1'
(integer) 1
redis 127.0.0.1:6378> lpush mylist list2
(integer) 2
redis 127.0.0.1:6378> lrange myllist 0 -1
(empty list or set)
redis 127.0.0.1:6378> lrange mylist 0 -1
1) "list2"
2) "list1"
redis 127.0.0.1:6378> rpush mylist2 one
(integer) 1
redis 127.0.0.1:6378> rpush mylist2 two
(integer) 2
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "one"
2) "two"

 2:linsert 在某个元素前插入

redis 127.0.0.1:6378> linsert mylist2 before one 3
(integer) 3
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "3"
2) "one"
3) "two"

 3:lset修改某个下标的值

redis 127.0.0.1:6378> lset mylist2 0 first
OK
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "first"
2) "one"
3) "two"

 4:lrem删除指定的一个元素

redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "first"
2) "one"
3) "two"
redis 127.0.0.1:6378> lrem mylist2 -2 one
(integer) 1
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "first"
2) "two"
redis 127.0.0.1:6378> lrem mylist2 0 first
(integer) 1
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "two"
redis 127.0.0.1:6378> 

 5:ltrim 保留指定的元素

redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq2"
2) "ljq1"
3) "ljq"
4) "1"
5) "first"
6) "two"
redis 127.0.0.1:6378> ltrim mylist2 1 2
OK
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq1"
2) "ljq"

 6:lpop头部出, rpop尾部出

edis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq4"
2) "ljq3"
3) "ljq2"
4) "ljq1"
redis 127.0.0.1:6378> lpop mylist2
"ljq4"
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq3"
2) "ljq2"
3) "ljq1"
redis 127.0.0.1:6378> rpop mylist2
"ljq1"
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq3"
2) "ljq2"
redis 127.0.0.1:6378> 

 7:lpoprpush

从第一个 list 的尾部移除元素并添加到第二个 list 的头部,最后返回被移除的元素值,整个操

作是原子的.如果第一个 list 是空或者不存在返回 nil

redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq3"
2) "ljq2"
redis 127.0.0.1:6378> lpush mylist3 test1 test2
(integer) 2
redis 127.0.0.1:6378> lrange mylist3 0 -1
1) "test2"
2) "test1"
redis 127.0.0.1:6378> rpoplpush mylist2 mylist3
"ljq2"
redis 127.0.0.1:6378> lrange mylist2 0 -1
1) "ljq3"
redis 127.0.0.1:6378> lrange mylist3 0 -1
1) "ljq2"
2) "test2"
3) "test1"

 8:lindex返回下标的元素,llen计算list的长度

redis 127.0.0.1:6378> lrange mylist3 0 -1
1) "ljq2"
2) "test2"
3) "test1"
redis 127.0.0.1:6378> lindex mylist3 0
"ljq2"
redis 127.0.0.1:6378> llen mylist3
(integer) 3

 

分享到:
评论

相关推荐

    std::List类的遍历获得元素的操作二法

    对于`std::list`,我们可以使用`iterator`类型来遍历所有元素。以下是一个例子: ```cpp #include #include <list> void traverseList(std::list<int> &lst) { for (std::list<int>::iterator it = lst.begin();...

    集合类(二):List集合

    4. 类型:List接口是Java集合框架的一部分,而数组是Java的基本特性。 在CnToSpell.java这个文件中,可能实现了一个将中文字符转换为拼音的工具类。在处理List集合时,这样的工具类可以帮助我们以字符串的形式处理...

    c模拟c++ stl list

    因此,`list`操作的数据需要是`void*`类型,用户在使用时需要自己处理类型转换。 5. **测试**:`main.c`和`main.h`文件通常包含示例代码,用于测试上述功能是否正常工作。这些测试应该涵盖插入、删除、遍历等基本...

    测量程序编制 - python 21数据类型:List(列表)-创建.pptx

    在Python编程语言中,列表(List)是一种非常重要的数据结构,用于存储有序的元素集合,这些元素可以是任意类型,包括数字、字符串甚至是其他列表。列表具有动态大小,这意味着你可以随时添加或删除元素,这使得它在...

    Python语言基础:数据类型转换.pptx

    - `list()` 可以将其他序列类型(如元组、字符串)转换为列表。语法为 `list(seq)`,其中 `seq` 是要转换的序列。例如,`list("Hello World")` 会得到列表 `['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd...

    测量程序编制 - python 20数据类型:List(列表).pptx

    在Python编程语言中,列表(List)是最常用的数据类型之一,它具有高度的灵活性,能够存储不同类型的数据,如数字、字符串甚至是其他列表。列表是有序的集合,可以通过索引来访问其元素,索引从0开始,-1则表示从末尾...

    测量程序编制 - python 20数据类型:List(列表)-概述.pptx

    list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black'] ``` 在上面的示例中,我们创建了四个不同的列表,它们分别包含字符串、整数、字母和颜色名称。这些列表展示了列表元素类型的不同可能性,即它们不必...

    测量程序编制 - python 24数据类型:List(列表)-修改.pptx

    标题中的“测量程序编制 - python 24数据类型:List(列表)-修改”提示我们,这个主题聚焦于Python编程语言中的数据结构列表(List)的修改操作。在Python中,列表是可变的数据类型,意味着我们可以对已创建的列表...

    Python:list列表

    `list()` 方法是将其他类型的数据结构转换为列表的一种便捷方式。在给定的描述中,特别提到了将元组转换为列表的操作。下面我们将详细探讨这个方法以及与列表相关的其他重要知识点。 **`list()` 方法** `list()` ...

    创建一个数据类型为T的链表类模板List,实现以下成员函数的模拟测试.cpp

    1) 用List模板定义一个List类型的模板类对象int_listB,从键盘读入m个整数,调用Push_back函数将这m个整数依次插入到该链表中;(4分) 2) 用List模板定义一个List类型的模板类对象int_listC,从键盘读入n个整数,...

    测量程序编制 - python 25数据类型:List(列表)-复制.pptx

    在Python编程语言中,列表(List)是一种非常重要的数据结构,用于存储有序的元素集合,可以包含任意类型的对象,如数字、字符串甚至其他列表。在处理列表时,有时我们需要创建列表的副本,以便对副本进行操作而不会...

    测量程序编制 - python 27数据类型:List(列表)-遍历.pptx

    在Python编程语言中,列表(List)是一种非常重要的数据结构,用于存储有序的元素集合,它可以包含任意类型的对象,如数字、字符串甚至其他列表。在处理列表时,遍历是经常用到的操作,以便访问列表中的每个元素。以下...

    c#多个结构类型相同的list 组合

    在C#编程中,组合多个结构类型相同的...4. 数据库操作中的批处理准备,如将数据组合成一个大列表以便一次性写入。 了解并熟练掌握这些知识点对于C#开发人员来说非常重要,尤其是在处理大数据集和优化性能的上下文中。

    qml q_property list使用

    studyListObj.studyList.append("Chapter4") } } // 其他用于展示和操作列表的控件 } ``` 通过这种方式,你可以构建一个交互式的界面,用于学习和演示`list`类型的`q_property`在QML中的使用。 总结,`qml q_...

    c++ listClass 介绍

    4. **电话簿示例**: `PhoneListing`类是一个简单的电话簿条目,包含姓名和电话号码两个成员变量。类定义了构造函数、设置函数(`setName`和`setPhoneNumber`)以及一组重载的操作符,如赋值运算符`operator=`和...

    CSharp_List.zip_C# list_C#中list_C#中list的用法_C#怎么引用List_c# list

    创建`List<T>`对象时,我们需要指定T的类型,即存储的数据类型。例如,创建一个存储整数的列表: ```csharp List<int> numbers = new List(); ``` 或者初始化时直接添加元素: ```csharp List<int> numbers = new...

    list to list 将list内容移到另一个list

    list2 = [4, 5, 6] list1.extend(list2) ``` 结果,`list1` 将变为 `[1, 2, 3, 4, 5, 6]`。 4. **列表迁移**:如果要将一个列表的所有元素转移到另一个列表,然后清空原列表,可以先使用 `extend()`,再用 `...

    webservice获取List案例

    泛型List允许我们在List中存储特定类型的元素,如List或List,确保了添加和检索元素时的类型一致性。 3. **XML配置**:由于WebService返回的是XML格式的数据,因此在处理非简单类型如List时,需要进行XML配置来正确...

    python的List和Tuple类型

    #### 一、List类型详解 在Python中,`list` 是一种非常重要的数据结构,它表示一个有序的集合,能够存放任意类型的元素,并且支持动态地添加或删除元素。 ##### 1. 创建List ```python classmates = ['Michael', '...

Global site tag (gtag.js) - Google Analytics