list设置值(头部):lpush list one

list设置值(尾部):**rpush ** list one

list获取值:lrange list 0 -1

list获取指定范围的值:lrange list 0 1

127.0.0.1:6379> lpush list one #头部插入一个值
(integer) 1
127.0.0.1:6379> lpush list two #头部插入一个值
(integer) 2
127.0.0.1:6379> lpush list three #头部插入一个值
(integer) 3
127.0.0.1:6379> lrange list 0 -1 #获取所有值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange list 0 1 #获取0 1的值
1) "three"
2) "two"
127.0.0.1:6379> rpush list four #尾部插入一个值
(integer) 4
127.0.0.1:6379> lrange list 0 -1 #查看刚才插入的值
1) "three"
2) "two"
3) "one"
4) "four"

list移除一个值(头部):lpop list

list移除一个值(尾部):rpop list

127.0.0.1:6379> lrange list 0 -1 #查看list元素
1) "three"
2) "two"
3) "one"
4) "four"
127.0.0.1:6379> lpop list #移除头部元素
"three"
127.0.0.1:6379> lrange list 0 -1 #第一个元素被移除
1) "two"
2) "one"
3) "four"
127.0.0.1:6379> rpop list #移除尾部元素
"four"
127.0.0.1:6379> lrange list 0 -1 #最后一个元素被移除
1) "two"
2) "one"

list移除指定的值(几个):lrem list 1 one

list移除指定的值(所有):lrem list 0 one

127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "one"
3) "one"
4) "one"
5) "one"
6) "one"
7) "two"
8) "three"
127.0.0.1:6379> lrem list 1 one #移除一个one元素
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "one"
3) "one"
4) "one"
5) "one"
6) "two"
7) "three"
127.0.0.1:6379> lrem list 0 one #移除所有的one元素
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "three"

通过下标获取值:lindex list 0

127.0.0.1:6379> lrange list 0 -1 #查看元素
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> lindex list 0 #获取下标为0的元素
"one"
127.0.0.1:6379> lindex list 2 #获取下标为2的元素
"three"

查看list长度:llen list

127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> llen list #查看长度
(integer) 3

修剪list:ltrim list 0 2

127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> ltrim list 0 2 #只保留0 1 2元素,list实际上已经改变了
OK
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"

移除最后一个元素并添加到一个新的list:rpoplpush mylist otherlist

127.0.0.1:6379> lrange mylist 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> rpoplpush mylist otherlist #移除mylist的最后一个元素并添加到otherlist
"three"
127.0.0.1:6379> lrange mylist 0 -1 #mylist已经移除了最后一个元素
1) "one"
2) "two"
127.0.0.1:6379> lrange otherlist 0 -1 #otherlist添加了一个元素
1) "three"

更新一个值(list必须要存在,下标元素必须要存在):lset mylist 0 one

127.0.0.1:6379> lset mylist 0 one #如果list不存在会报错
(error) ERR no such key
127.0.0.1:6379> lpush mylist one #创建mylist
(integer) 1
127.0.0.1:6379> lpush mylist two
(integer) 2
127.0.0.1:6379> lrange mylist 0 -1 #查看mylist元素
1) "two"
2) "one"
127.0.0.1:6379> lset mylist 0 heihei #更新下标为0的元素值
OK
127.0.0.1:6379> lrange mylist 0 -1 #修改成功
1) "heihei"
2) "one"
127.0.0.1:6379> lset mylist 3 haha #更新不存在的下标元素 失败
(error) ERR index out of range

插入一个值(在某个元素前面):linsert mylist before "world" "new"

插入一个值(在某个元素后面):linsert mylist after"world" "new"

127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "world"
127.0.0.1:6379> linsert mylist before "world" "new" #在wolrd前面插入new
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "new"
3) "world"
127.0.0.1:6379> linsert mylist after "world" "old" #在wolrd后面插入old
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "new"
3) "world"
4) "old"

redis: List列表类型(四)的更多相关文章

  1. redis数据类型-列表类型

    列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...

  2. Redis之列表类型命令

    Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967 ...

  3. redis之(六)redis的列表类型的命令

    [一]向列表两端添加元素 -->命令:LPUSH key value [value ...] -->向列表的左侧添加元素,返回值表示增加元素后列表的长度 -->命令:RPUSH ke ...

  4. redis:list列表类型的操作

    1. list列表类型的操作 1.1. lpush/rpush key value [value ...] 链表的头部(左侧)或尾部(右侧)插入值 语法:lpush key value [value ...

  5. Redis散列表类型

    散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他的数据类型. 一个散列类型键可以包含至多2^32 -1个字段. 命令 赋值 HSE ...

  6. Redis常用命令入门3:列表类型

    列表类型 列表类型也是一个我们很长要用到的一个类型.比如我们发博客,要用到博客列表.如果没有列表我们就只能遍历键来获取所有文章或一部分文章了,这个语法是keys,但是这个命令需要遍历数据库中的所有键, ...

  7. redis之(四)redis的字符串类型的命令

    [一]获得符合规则的键名列表  -->命令  keys [pattern] -->keys命令需要遍历Redis中所有的键,当键的数量比较多会影响性能,生产环境不建议用 -->pat ...

  8. Redis从基础命令到实战之列表类型(List)

    经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品k ...

  9. redis 的使用 ( list列表类型操作)

    list 数据类型 列表类型 list 类型是一个双向操作 从链表的头部或者尾部添加删除元素 list 既可以用作栈 也可以用作队列 list 链表的类型应用场合: 获取最新的 10 个用户的信息 s ...

  10. Redis自学笔记:3.4入门-列表类型

    3.4列表类型 3.4.1介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者 获得列表的某一片段. 优点:内部使用的是双向链表,所以向列表两端添加元素的时间复杂度为O(1 ...

随机推荐

  1. 使用Keras进行深度学习:(五)RNN和双向RNN讲解及实践

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 笔者:Ray 介绍 通过对前面文章的学习,对深度神经网络(DNN) ...

  2. Python第七章-面向对象高级

    面向对象高级 一. 特性 特性是指的property. property这个词的翻译一直都有问题, 很多人把它翻译为属性, 其实是不恰当和不准确的. 在这里翻译成特性是为了和属性区别开来. 属性是指的 ...

  3. 开源APP

    仿微信 https://github.com/zhengwenming/WeChat 电台韵律 https://github.com/DaMingShen 运动App https://github.c ...

  4. 20175314薛勐 数据库MySQL(课下作业,必做)

    数据库MySQL(课下作业,必做) 要求 下载附件中的world.sql.zip, 参考Intellj IDEA 简易教程:数据库,导入world.sql,提交导入成功截图 编写程序,查询世界上超过& ...

  5. 新基建新机遇!100页PPT

    "新基建"是与传统的"铁公基"相对应,结合新一轮科技革命和产业变革特征,面向国家战略需求,为经济社会的创新.协调.绿色.开放.共享发展提供底层支撑的具有乘数效应 ...

  6. iOS开发 - 开发版+企业版无线发布一键打包

    背景:项目进入快速迭代期,需要快速地交付出AdHoc版本和企业无线发布版本.每次打包都要来回切换bundle identifier和code signing,浪费很多时间. 示例项目名称名称为Test ...

  7. 关于MySQL Notifiter的简单使用

    MySQL Notifiter是MySQL 数据库的辅助工具. 1.打开MySQL Notifiter Command Line Client,输入密码:123456(这是我自己的) 2.创建一个名为 ...

  8. day 1 硬件组成概念及介绍笔记

    一.服务器的种类: 硬件服务器: 1.机架式服务器 2.刀片式服务器 3.塔式服务器 虚拟服务器: 阿里云 aws 腾讯云 二.详细硬件组成: 1.电源  ----心脏(供电) 冗余特性    ups ...

  9. Redis 笔记(六)—— ZSET 常用命令

    常用命令 命令 用例和描述 ZADD ZADD key-name score member [score member ...] —— 将带有分值的成员添加到 HSET 中 ZREM ZREM key ...

  10. HDU1398:Square Coins(DP水题)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...