Redis之link 链表结构
2016-09-04 14:14
176 查看
lpush key value
作用: 把值插入到链接头部
rpop key
作用: 返回并删除链表尾元素
rpush,lpop道理同上
lrange key start stop
作用: 返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始
lrem key count value
作用: 从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count>0 从表头删除
Count<0 从表尾删除
ltrim key start stop
作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key
lindex key index
作用: 返回index索引上的值,
如 lindex key 2
llen key
作用:计算链接表的元素个数
redis 127.0.0.1:6379> llen task
(integer) 3
linsert keyafter|before search value
作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
找到searchValue,返回link的新长度
如果没有找到searchValue,返回-1
如果key不存在或为空列表,返回0
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value
rpoplpush source dest
作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值
场景: task + bak双链表完成安全队列
Task列表
bak列表
业务逻辑:
1:Rpoplpush task bak
2:接收返回值,并做业务处理
3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务
brpop /blpop key [key ...]timeout
作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待
BLPOP是列表的阻塞式(blocking)弹出原语。它是LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。当给定多个key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素并结束命令。
brpop:阻塞弹出队列尾部的元素,不再单述
场景: 长轮询Ajax,在线聊天时,能够用到
作用: 把值插入到链接头部
rpop key
作用: 返回并删除链表尾元素
rpush,lpop道理同上
lrange key start stop
作用: 返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始
lrem key count value
作用: 从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count>0 从表头删除
Count<0 从表尾删除
ltrim key start stop
作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key
lindex key index
作用: 返回index索引上的值,
如 lindex key 2
llen key
作用:计算链接表的元素个数
redis 127.0.0.1:6379> llen task
(integer) 3
linsert keyafter|before search value
作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
找到searchValue,返回link的新长度
如果没有找到searchValue,返回-1
如果key不存在或为空列表,返回0
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value
rpoplpush source dest
作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值
场景: task + bak双链表完成安全队列
Task列表
| | |
bak列表
1:Rpoplpush task bak
2:接收返回值,并做业务处理
3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务
brpop /blpop key [key ...]timeout
作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待
BLPOP是列表的阻塞式(blocking)弹出原语。它是LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。当给定多个key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素并结束命令。
brpop:阻塞弹出队列尾部的元素,不再单述
场景: 长轮询Ajax,在线聊天时,能够用到
相关文章推荐
- redis link 链表结构
- redis link 链表结构
- Redis之link 链表结构命令详解
- redis源码分析之数据结构(一)链表adlist.c
- 我知道点redis-数据结构与对象(链表)
- Redis中的通用链表结构
- Redis源码阅读笔记-链表结构
- Redis 数据结构之链表
- redis链表结构
- Redis 链表的数据结构
- redis源码分析 -- 链表结构
- redis 源代码之数据结构(sds,链表的实现)
- 单链表结构的实现(C++版, Link.h)
- 数据结构模版----单链表SimpleLinkList[不带头结点](C语言实现)
- 单链表结构测试程序(Linktest.cpp)
- redis 源代码之数据结构(1)--链表的实现
- redis List链表结构
- 【线性表】链式存储结构之:单链表
- 数据结构—链表
- 数据结构实验之链表七:单链表中重复元素的删除