当前位置: 首页 > news >正文

建立网站准备工作凡科网站源码下载

建立网站准备工作,凡科网站源码下载,成都到西安需要核酸检测吗,做背景图 网站目录 一、概念 二、命令 2.1 LPUSH 2.2 LPUSHX 2.3 RPUSH 2.4 RPUSHX 2.5 LRANGE 2.6 LPOP 2.7 RPOP 2.8 LINDEX 2.9 LINSERT 2.10 LLEN 2.11 阻塞版本命令 三、内部编码 一、概念 列表类型是用来存储多个有序的字符串,列表中的每个字符串称为元素&…

目录

一、概念

二、命令

2.1 LPUSH

2.2 LPUSHX

2.3 RPUSH

2.4 RPUSHX

2.5 LRANGE

2.6 LPOP

2.7 RPOP

2.8 LINDEX

2.9 LINSERT

2.10 LLEN

2.11 阻塞版本命令

三、内部编码


一、概念

列表类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),⼀个列表最多可以存储 个元素。在 Redis 中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是⼀种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有很多应用场景。
列表类型的特点:
   
第⼀、列表中的元素是有序的,这意味着可以通过索引下标获取某个元素或者某个范围的元素列表。
第⼆、区分获取和删除的区别。
第三、列表中的元素是允许重复的。

二、命令

2.1 LPUSH

将⼀个或者多个元素从左侧放入(头插)到 list 中。
语法:
LPUSH key element [element ...]
命令有效版本:1.0.0 之后
时间复杂度:只插入⼀个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数.
返回值:插⼊后 list 的长度。
示例:
redis> LPUSH mylist "world"
(integer) 1
redis> LPUSH mylist "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"

2.2 LPUSHX

在 key 存在时,将⼀个或者多个元素从左侧放入(头插)到 list 中。不存在,直接返回。
语法:
LPUSHX key element [element ...]
命令有效版本:2.0.0 之后
时间复杂度:只插入⼀个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数.
返回值:插入后 list 的长度。
示例:
(integer) 1
redis> LPUSHX mylist "Hello"
(integer) 2
redis> LPUSHX myotherlist "Hello"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty array)

2.3 RPUSH

将⼀个或者多个元素从右侧放入(尾插)到 list 中。
语法:
RPUSH key element [element ...]
命令有效版本:1.0.0 之后
时间复杂度:只插入⼀个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数.
返回值:插入后 list 的长度。
示例:
redis> RPUSH mylist "world"
(integer) 1
redis> RPUSH mylist "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "world"
2) "hello"

2.4 RPUSHX

在 key 存在时,将⼀个或者多个元素从右侧放入(尾插)到 list 中。
语法:
RPUSHX key element [element ...]
命令有效版本:2.0.0 之后
时间复杂度:只插入⼀个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数.
返回值:插入后 list 的长度。
示例:
redis> RPUSH mylist "World"
(integer) 1
redis> RPUSHX mylist "Hello"
(integer) 2
redis> RPUSHX myotherlist "Hello"
(integer) 0
redis> LRANGE mylist 0 -1
1) "World"
2) "Hello"
redis> LRANGE myotherlist 0 -1
(empty array)

2.5 LRANGE

获取从 start 到 end 区间的所有元素,左闭右闭。
语法:
LRANGE key start stop
命令有效版本:1.0.0 之后
时间复杂度:O(N)
返回值:指定区间的元素。
示例:
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LRANGE mylist 0 0
1) "one"
redis> LRANGE mylist -3 2
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist -100 100
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist 5 10
(empty array)

2.6 LPOP

从 list 左侧取出元素(即头删)。
语法:
LPOP key
命令有效版本:1.0.0 之后
时间复杂度:O(1)
返回值:取出的元素或者 nil。
示例:
redis> RPUSH mylist "one" "two" "three" "four" "five"
(integer) 5
redis> LPOP mylist
"one"
redis> LPOP mylist
"two"
redis> LPOP mylist
"three"
redis> LRANGE mylist 0 -1
1) "four"
2) "five"

2.7 RPOP

从 list 右侧取出元素(即尾删)。
语法:
RPOP key
命令有效版本:1.0.0 之后
时间复杂度:O(1)
返回值:取出的元素或者 nil。
示例;
redis> RPUSH mylist "one" "two" "three" "four" "five"
(integer) 5
redis> RPOP mylist
"five"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
3) "three"
4) "four"

2.8 LINDEX

获取从左数第 index 位置的元素。
语法:
LINDEX key index
命令有效版本:1.0.0 之后
时间复杂度:O(N)
返回值:取出的元素或者 nil。
示例:
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LINDEX mylist 0
"Hello"
redis> LINDEX mylist -1
"World"
redis> LINDEX mylist 3
(nil)

2.9 LINSERT

在特定位置插入元素。
语法:
LINSERT key <BEFORE | AFTER> pivot element
命令有效版本:2.2.0 之后
时间复杂度:O(N)
返回值:插⼊后的 list 长度。
示例:
redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"

2.10 LLEN

获取 list 长度。
语法:
 LLEN key
命令有效版本:1.0.0 之后
时间复杂度:O(1)
返回值:list 的长度。
示例:
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LLEN mylist
(integer) 2

2.11 阻塞版本命令

blpop 和 brpop 是 lpop 和 rpop 的阻塞版本,和对应非阻塞版本的作用基本⼀致,除了:
在列表中有元素的情况下,阻塞和非阻塞表现是⼀致的。但如果列表中没有元素,非阻塞版本会理
解返回 nil,但阻塞版本会根据 timeout,阻塞⼀段时间,期间 Redis 可以执行其他命令,但要求执
行该命令的客户端会表现为阻塞状态。
命令中如果设置了多个键,那么会从左向右进行遍历键,⼀旦有⼀个键对应的列表中可以弹出元
素,命令立即返回。
如果多个客户端同时多⼀个键执行 pop,则最先执行命令的客户端会得到弹出的元素。

三、内部编码

列表类型的内部编码有两种:

ziplist(压缩列表):当列表的元素个数小于 list-max-ziplist-entries 配置(默认 512 个),同时
列表中每个元素的长度都小于 list-max-ziplist-value 配置(默认 64 字节)时,Redis 会选用
ziplist 来作为列表的内部编码实现来减少内存消耗。
linkedlist(链表):当列表类型无法满足 ziplist 的条件时,Redis 会使用 linkedlist 作为列表的内
部实现。
http://www.dtcms.com/a/412068.html

相关文章:

  • 将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位
  • 建站快车优势扬州、常州、扬州、泰州
  • 帮别人做网站音乐推广平台有哪些
  • 静态代理与动态代理
  • vue3+vite,引入阿里巴巴svg图标,自定义大小颜色
  • 网站搭建哪家公司最好有哪些营销型网站
  • LoRa大模型微调
  • 如何创建网站的步骤深圳建站网站网站公司
  • 松江新城做网站做诱导网站
  • Java Web 开发实用技巧与经验总结
  • 设计网站欣赏苏州企业建设网站
  • 南通网站定制上海网站建设选缘魁 -企查
  • 网站突然在百度消失了网络营销思想的网站改版计划
  • 【MySQL 高阶】MySQL 架构与存储引擎全面详解
  • 转行AI产品如何准备面试
  • 最常见的企业建站程序有WordPress妹子图采集
  • Gli appunti di scienza dei dati[6]
  • 网站建设能够不同地方什么是商城网站建设
  • 网站建设课结课感受网站后台用什么浏览器
  • 网站建设公司哪里可以做设计之家图片欣赏
  • 连接公司打印机,WIFI
  • 浙江住房与城乡建设部网站企业工资管理系统软件
  • 怎样在手机上网站建设wordpress多用户模板
  • go资深之路笔记(六)坑点
  • 网站的设计特点有哪些淘宝购物网站
  • question:setTimeOut的精确调用
  • 一般网站建设公司wordpress中文4.8
  • 青岛建设大学招聘信息网站网站运营是做什么的
  • 湖南住房城乡建设厅官方网站房产网站建设
  • 做企业网站用哪个cms哈尔滨模板建站公司