Redis之列表
时间:2021-09-16
本文章向大家介绍Redis之列表,主要包括Redis之列表使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
(1).list列表
基于Linked List实现 元
素是字符串类型
列表头尾增删快,中间增删慢,增删元素是常态
元素可以重复出现
最多包含2^32-1元素
(2).列表的索引
从左至右,从0开始
从右至左,从-1开始
(3).命令说明
B block 块,阻塞
L left 左
R right 右
X exist 存在
(4).左右或者头尾压入元素
LPUSH key value [value ...]
LPUSHX key value
RPUSH key value [value ...]
RPUSHX key value
(5).左右或者头尾弹出元素(表中元素消失)
LPOP key
RPOP key
(6).从一个列表尾部弹出元素压入到另一个列表的头部
RPOPLPUSH source destination
(7).返回列表中指定范围元素
LRANGE key start stop
LRANGE key 0 -1 表示返回所有元素
(8).获取指定位置的元素
LINDEX key index
(9).设置指定位置元素的值
LSET key index value
(10).列表长度,元素个数
LLEN key
(11).从列表头部开始删除值等于value的元素count次
LREM key count value
count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值
count = 0 : 移除表中所有与 value 相等的值
举例 :
RPUSH listkey c abc c ab 123 ab bj ab redis list
LREM listkey 2 ab
LRANGE listkey 0 -1
(12).去处指定范围外元素
LTRIM key start stop
举例:
RPUSH listkey c abc c ab 123 ab bj ab redis list
LTRIM listkey 0 -1
LTRIM listkey 1 -1
LTRIM listkey 1 10000
微博的评论最后500条 :
LTRIM u1234:forumid:comments 0 499
(13).在列表中某个存在的值(pivot)前或后插入元素
LINSERT key BEFORE|AFTER pivot value
key和pivot不存在,不进行任何操作
举例:
RPUSH lst Clojure C Lua
LINSERT lst AFTER C Python
LINSERT lst BEFORE C Ruby
(14).阻塞
如果弹出的列表不存在或者为空,就会阻塞
超时时间设置为0,就是永久阻塞,直到有数据可以弹出
如果多个客户端阻塞在同一个列表上,使用First In First Service原则,先到先服务
(15).左右或者头尾阻塞弹出元素
BLPOP key [key ...] timeout
BRPOP key [key ...] timeout
timeout为设置的多少时间后弹出
(16).从一个列表尾部阻塞弹出元素压入到另一个列表的头部
BRPOPLPUSH source destination timeout
原文地址:https://www.cnblogs.com/Xinyi-bigdata/p/15302298.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 卷积神经网络之-NiN 网络(Network In Network)
- 【注意力机制】空间注意力机制之Spatial Transformer Network
- 【小技巧】用Python给你的视频添加字幕
- 震惊!我三步就搞定了 Tomcat 源码环境搭建!
- 【小技巧】深度学习中的那些效率提升利器(附资源)
- 多个线程为了同个资源打起架来了,操作系统是如何让他们安分的?
- 学习链表,这些题你值得一刷!
- Gophish钓鱼测试
- 【位运算】只出现一次的数字 II,数电的知识终于用上了!
- Swaks伪造邮件发件人绕过SPF
- 某次网站的渗透测试
- phpMyAdmin 渗透利用总结
- 【C++简明教程】C++基本语法
- 【多目标跟踪】搞不懂MOT数据集,会跑代码有啥用!
- 手工 - 内网信息收集