redis里面关于list的命令几乎都以l打头

###################

lpush,rpush

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”

注意:如果想把一个元素,插入列表的尾部,请用rpush

###################

lpop,rpop

127.0.0.1:6379> lpop list 移除列表的第一个元素
“three”
127.0.0.1:6379> lrange list 0 -1

“two”

“one”

“right”

127.0.0.1:6379> rpop list 移除列表的最后一个元素
“right”
127.0.0.1:6379> lrange list 0 -1

“two”

“One”

#####################

lindex 列表中的位置元素

127.0.0.1:6379> lindex list 0 查看列表中的第一元素
“two”
127.0.0.1:6379> lindex list 1
“one”

#####################

llen

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> llen list 显示list当前长度,也就是当前list存储着多少个元素
(integer) 3

#######################

移除指定的值

例子:取关某个人uid

lrem

如: lrem list 1 three 移除list的three元素,1个,如果有两个three都想移除干净

​ lrem list 2 three 以此类推

#######################

trim 修剪

127.0.0.1:6379> rpush mylist hello
(integer) 1
127.0.0.1:6379> rpush mylist hello1
(integer) 2
127.0.0.1:6379> rpush mylist hello2
(integer) 3
127.0.0.1:6379> rpush mylist hello3
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1

  1. “hello”

  2. “hello1”

  3. “hello2”

  4. “hello3”
    127.0.0.1:6379> ltrim mylist 1 2
    OK
    127.0.0.1:6379> lrange mylist 0 -1

  5. “hello1”

  6. “hello2”

    push完之后截取指定的长度。mylist只剩下我们截取的长度了。

###########################

rpoplpush 移除列表最后一个元素,并将该元素添加到另外一个列表

127.0.0.1:6379> rpush mylist hello
(integer) 1
127.0.0.1:6379> rpush mylist hello1
(integer) 2
127.0.0.1:6379> rpush mylist hello2
(integer) 3
127.0.0.1:6379> RPOPlpush mylist myotherlist
“hello2”
127.0.0.1:6379> lrange mylist 0 -1 查看原来的列表

  1. “hello”
  2. “hello1”
    127.0.0.1:6379> lrange myotherlist 0 -1 查看新的列表
  3. “hello2”

##########################

lset 为一个列表中某个元素重新设置值,原列表对应位置存在命令执行成功,否则命令执行失败

127.0.0.1:6379> exists list 判断列表是否存在,如果不存在更新报错
(integer) 0
127.0.0.1:6379> lset list 0 item
(error) ERR no such key
127.0.0.1:6379> lpush list value1
(integer) 1
127.0.0.1:6379> lrange list 0 -1

  1. “value1”
    127.0.0.1:6379> lset list 0 item list的第一个元素,存在设置新值
    OK
    127.0.0.1:6379> lrange list 0 -1

  2. “item”

    127.0.0.1:6379> lset list 1 other. list的第二个元素不存在,命令执行失败
    (error) ERR index out of range

###########################

127.0.0.1:6379> rpush mylist “hello”
(integer) 1
127.0.0.1:6379> rpush mylist “world”
(integer) 2
127.0.0.1:6379> linsert mylist before “world” “other” 在指定位置插入数据(某个value的前面或者后面)
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1

  1. “hello”
  2. “other”
  3. “world”

小结:

·它实际上是一个链表,before Node after,left,right都可以插入值

·如果key不存在,创建新的链表

·如果key存在,新增内容

·如果key移除了所有值,空链表,也代表不存在

·在两边插入或者改动值,效率最高,中间元素相对来说,效率低点。

消息排队,消息队列

redis的list类型相关推荐

  1. Redis 基础——五大类型与数据结构

    引言 Redis 区分于 memcahced 的一个重要不同就是它具有明确的类型概念,在Redis 的使用过程中,都离不开这些类型的学习,它不仅是 Redis 能力的基础,同时也是一些重要数据结构和算 ...

  2. jedis操作set_Jedis对redis的五大类型操作代码详解

    本篇主要阐述Jedis对redis的五大类型的操作:字符串.列表.散列.集合.有序集合. JedisUtil 这里的测试用例采用junit4进行运行,准备代码如下: private static fi ...

  3. redis 自增_坏了,Redis的字符串类型竟然被张三学明白了?

    Redis简介 Redis(Remote dictionary server) 是一款高性能的开源非关系型缓存数据库,Redis使用C语言编写,支持多种类型的数据结构,如字符串,字典,列表,集合,有序 ...

  4. python redis缓存_第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  5. 【Redis之ZSet类型的详解ZSet类型中常用命令的实践】

    Redis之ZSet类型的详解&ZSet类型中常用命令的实践 知识回顾: 通过对Redis中的String的命令做了充分的讲解以及实践学习 通过对Redis中String类型之Bit命令的详解 ...

  6. 系统性详解Redis操作Hash类型数据(带源码分析及测试结果)

    1 缘起 系统讲解Redis的Hash类型CURD, 帮助学习者系统且准确学习Hash数据操作, 逐步养成测试的好习惯, 本文较长,Hash的操作比较多,请耐心看, 既可以集中时间看,亦可以碎片时间学 ...

  7. Redis 数据类型 Strings 类型详解

    Redis 数据类型 Strings 类型详解 bitmap 操作 SETBIT • SETBIT key offset value 起始版本:2.2.0 时间复杂度:O(1) 设置或者清空key的v ...

  8. Redis Geospatial 地理位置 类型

    Redis Geospatial 地理位置 类型 1.geoadd 将指定的地理空间位置(经度.纬度.名称)添加到指定的key中 2.geopos 从key里返回所有给定位置元素的位置(经度和纬度) ...

  9. Redis五大基本类型三种特殊数据类型事务操作(悲观锁,乐观锁)

    Redis五大基本类型 Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.它支持多种类型的数据 结构,如字符串(strings),散列(hashes) ...

  10. redis有序集合类型sort set

    redis的数据类型之-有序集合 sort set和set类型一样,也是string类型元素的集合,也没有重复的元素,不同的是sort set每个元素都会关联一个权,通过权值可以有序的获取集合中的元素 ...

最新文章

  1. 读写EXCEL的例子
  2. go语言学习(6)select的使用
  3. java序列化与反序列化(转)
  4. AJAX代码示例(不使用AJAX控件)
  5. jQuery-H5-css3转盘抽奖-遁地龙卷风
  6. Mac下安装和使用GunPG(GPG)
  7. Web服务生存周期内发生的事件/Soap扩展的阶段/Soap扩展的步骤
  8. Python struct模块与简单使用
  9. linux内核percpu变量声明,Linux内核对per-cpu变量的实现
  10. 尚品汇笔记——尚硅谷
  11. 容器精华问答 | Docker是否比虚拟技术要好?
  12. 网络电视机顶盒的工作原理
  13. 苹果系统版本依次顺序_苹果手机机型排行顺序
  14. docker swarm英文文档学习-7-在集群中管理节点
  15. Jackson多克隆抗体丨艾美捷Jackson纳米二级抗体研究
  16. TP5——workerman在线客服
  17. Floyd-傻子也能看懂的弗洛伊德算法(转)
  18. 《人人都是产品经理》读书摘抄(二)
  19. 【51】PWM控制使用
  20. 软件著作权、商事主体、企业域名备案 免费查询

热门文章

  1. 高级技巧之使用定时任务
  2. Python基础2(2017-07-18)
  3. HDU2112 HDU Today 最短路+字符串哈希
  4. easui Pagination Layout
  5. POJ 2488 A Knight's Journey
  6. iOS7,8 presentViewController 执行慢
  7. preg使用。还是一样,只是个人记录,不放博客园首页
  8. php larvel https,laravel 解决强制跳转 https的问题
  9. 怎么拆除境地柜_内衣不合身拒绝接亲,精装房装修不满意怎么办?
  10. Python中and、or、not用法