Redis命令---List篇

目录

  • 1.Redis Lindex 命令 - 通过索引获取列表中的元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 列表中下标为指定索引值的元素。 如果指定索引值不在列表的区间范围内,返回 nil 。
    • 示例
  • 2.Redis Rpush 命令 - 在列表中添加一个或多个值
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 执行 RPUSH 操作后,列表的长度。
    • 示例
  • 3.Redis Lrange 命令 - 获取列表指定范围内的元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 一个列表,包含指定区间内的元素。
    • 示例
  • 4.Redis Rpoplpush 命令 - 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 被弹出的元素。
    • 示例
  • 5.Redis Blpop 命令 - 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
    • 简介
    • 语法
      • 可用版本: >= 2.0.0
      • 返回值: 如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
    • 示例
  • 6.Redis Brpop 命令 - 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
    • 简介
    • 语法
      • 可用版本: >= 2.0.0
      • 返回值: 假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
    • 示例
  • 7.Redis Brpoplpush 命令 - 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
    • 简介
    • 语法
      • 可用版本: >= 2.0.0
      • 返回值: 假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长。
    • 示例
  • 8.Redis Lrem 命令 - 移除列表元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 被移除元素的数量。 列表不存在时返回 0 。
    • 示例
  • 9.Redis Llen 命令 - 获取列表长度
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 列表的长度。
    • 示例
  • 10.Redis Ltrim 命令 - 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 命令执行成功时,返回 ok 。
    • 示例
  • 11.Redis Lpop 命令 - 移出并获取列表的第一个元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 列表的第一个元素。 当列表 key 不存在时,返回 nil 。
    • 示例
  • 12.Redis Lpushx 命令 - 将一个或多个值插入到已存在的列表头部
    • 简介
    • 语法
      • 可用版本: >= 2.2.0
      • 返回值: LPUSHX 命令执行之后,列表的长度。
    • 示例
  • 13.Redis Linsert 命令 - 在列表的元素前或者后插入元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到指定元素 ,返回 -1 。 如果 key 不存在或为空列表,返回 0 。
    • 示例
  • 14.Redis Rpop 命令 - 移除并获取列表最后一个元素
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 列表的最后一个元素。 当列表不存在时,返回 nil 。
    • 示例
  • 15.Redis Lset 命令 - 通过索引设置列表元素的值
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 操作成功返回 ok ,否则返回错误信息。
    • 示例
  • 16.Redis Lpush 命令 - 将一个或多个值插入到列表头部
    • 简介
    • 语法
      • 可用版本: >= 1.0.0
      • 返回值: 执行 LPUSH 命令后,列表的长度。
    • 示例
  • 17.Redis Rpushx 命令 - 为已存在的列表添加值
    • 简介
    • 语法
      • 可用版本: >= 2.2.0
      • 返回值: 执行 Rpushx 操作后,列表的长度。
    • 示例
  • 总结

1.Redis Lindex 命令 - 通过索引获取列表中的元素

简介

Redis Lindex 命令用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。Redis 列表(List)

语法

redis 127.0.0.1:6379> LINDEX KEY_NAME INDEX_POSITION

可用版本: >= 1.0.0

返回值: 列表中下标为指定索引值的元素。 如果指定索引值不在列表的区间范围内,返回 nil 。

示例

redis 127.0.0.1:6379> LPUSH mylist "World"
(integer) 1redis 127.0.0.1:6379> LPUSH mylist "Hello"
(integer) 2redis 127.0.0.1:6379> LINDEX mylist 0
"Hello"redis 127.0.0.1:6379> LINDEX mylist -1
"World"redis 127.0.0.1:6379> LINDEX mylist 3        # index不在 mylist 的区间范围内
(nil)

2.Redis Rpush 命令 - 在列表中添加一个或多个值

简介

注意:在 Redis 2.4 版本以前的 RPUSH 命令,都只接受单个 value 值。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。Redis Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。Redis 列表(List)

语法

redis 127.0.0.1:6379> RPUSH KEY_NAME VALUE1..VALUEN

可用版本: >= 1.0.0

返回值: 执行 RPUSH 操作后,列表的长度。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
3) "bar"

3.Redis Lrange 命令 - 获取列表指定范围内的元素

简介

Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。Redis 列表(List)

语法

redis 127.0.0.1:6379> LRANGE KEY_NAME START END

可用版本: >= 1.0.0

返回值: 一个列表,包含指定区间内的元素。

示例

redis 127.0.0.1:6379> LPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> LPUSH list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LPUSHX list1 "bar"
(integer) 0
redis 127.0.0.1:6379> LRANGE list1 0 -1
1) "foo"
2) "bar"
3) "bar"

4.Redis Rpoplpush 命令 - 移除列表的最后一个元素,并将该元素添加到另一个列表并返回

简介

Redis Rpoplpush 命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。Redis 列表(List)

语法

redis 127.0.0.1:6379> RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME

可用版本: >= 1.0.0

返回值: 被弹出的元素。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> RPOPLPUSH mylist myotherlist
"bar"
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"

5.Redis Blpop 命令 - 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

简介

Redis Blpop 命令移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。Redis 列表(List)

语法

redis 127.0.0.1:6379> BLPOP LIST1 LIST2 .. LISTN TIMEOUT

可用版本: >= 2.0.0

返回值: 如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。

示例

redis 127.0.0.1:6379> BLPOP list1 100

6.Redis Brpop 命令 - 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

简介

Redis Brpop 命令移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。Redis 列表(List)

语法

redis 127.0.0.1:6379> BRPOP LIST1 LIST2 .. LISTN TIMEOUT

可用版本: >= 2.0.0

返回值: 假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。

示例

redis 127.0.0.1:6379> BRPOP list1 100

7.Redis Brpoplpush 命令 - 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

简介

Redis Brpoplpush 命令从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。Redis 列表(List)

语法

redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT

可用版本: >= 2.0.0

返回值: 假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长。

示例

# 非空列表redis 127.0.0.1:6379> BRPOPLPUSH msg reciver 500
"hello moto"                        # 弹出元素的值
(3.38s)                             # 等待时长redis 127.0.0.1:6379> LLEN reciver
(integer) 1redis 127.0.0.1:6379> LRANGE reciver 0 0
1) "hello moto"# 空列表redis 127.0.0.1:6379> BRPOPLPUSH msg reciver 1
(nil)
(1.34s)
<pre>
(nil)
(100.06s)

8.Redis Lrem 命令 - 移除列表元素

简介

COUNT 的值可以是以下几种:Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。Redis 列表(List)

语法

redis 127.0.0.1:6379> LREM KEY_NAME COUNT VALUE

可用版本: >= 1.0.0

返回值: 被移除元素的数量。 列表不存在时返回 0 。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 4
redis 127.0.0.1:6379> LREM mylist -2 "hello"
(integer) 2

9.Redis Llen 命令 - 获取列表长度

简介

Redis Llen 命令用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。Redis 列表(List)

语法

redis 127.0.0.1:6379> LLEN KEY_NAME

可用版本: >= 1.0.0

返回值: 列表的长度。

示例

redis 127.0.0.1:6379> RPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> RPUSH list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LLEN list1
(integer) 2

10.Redis Ltrim 命令 - 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

简介

下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。Redis 列表(List)

语法

redis 127.0.0.1:6379> LTRIM KEY_NAME START STOP

可用版本: >= 1.0.0

返回值: 命令执行成功时,返回 ok 。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 4
redis 127.0.0.1:6379> LTRIM mylist 1 -1
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
3) "bar"

11.Redis Lpop 命令 - 移出并获取列表的第一个元素

简介

Redis Lpop 命令用于移除并返回列表的第一个元素。Redis 列表(List)

语法

redis 127.0.0.1:6379> LLEN KEY_NAME

可用版本: >= 1.0.0

返回值: 列表的第一个元素。 当列表 key 不存在时,返回 nil 。

示例

redis 127.0.0.1:6379> RPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> RPUSH list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LPOP list1
"foo"

12.Redis Lpushx 命令 - 将一个或多个值插入到已存在的列表头部

简介

Redis Lpushx 将一个或多个值插入到已存在的列表头部,列表不存在时操作无效。Redis 列表(List)

语法

redis 127.0.0.1:6379> LPUSHX KEY_NAME VALUE1.. VALUEN

可用版本: >= 2.2.0

返回值: LPUSHX 命令执行之后,列表的长度。

示例

redis 127.0.0.1:6379> LPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> LPUSHX list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LPUSHX list2 "bar"
(integer) 0
redis 127.0.0.1:6379> LRANGE list1 0 -1
1) "foo"
2) "bar"

13.Redis Linsert 命令 - 在列表的元素前或者后插入元素

简介

Redis Linsert 命令用于在列表的元素前或者后插入元素。 当指定元素不存在于列表中时,不执行任何操作。 当列表不存在时,被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误。Redis 列表(List)

语法

redis 127.0.0.1:6379> LINSERT KEY_NAME BEFORE EXISTING_VALUE NEW_VALUE

可用版本: >= 1.0.0

返回值: 如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到指定元素 ,返回 -1 。 如果 key 不存在或为空列表,返回 0 。

示例

redis 127.0.0.1:6379> RPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> RPUSH list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LINSERT list1 BEFORE "bar" "Yes"
(integer) 3
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "foo"
2) "Yes"
3) "bar"

14.Redis Rpop 命令 - 移除并获取列表最后一个元素

简介

Redis Rpop 命令用于移除并返回列表的最后一个元素。Redis 列表(List)

语法

redis 127.0.0.1:6379> RPOP KEY_NAME

可用版本: >= 1.0.0

返回值: 列表的最后一个元素。 当列表不存在时,返回 nil 。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 4
redis 127.0.0.1:6379> RPOP mylist
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "hello"
3) "foo"

15.Redis Lset 命令 - 通过索引设置列表元素的值

简介

关于列表下标的更多信息,请参考 LINDEX 命令。当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误。Redis Lset 通过索引来设置元素的值。Redis 列表(List)

语法

redis 127.0.0.1:6379> LSET KEY_NAME INDEX VALUE

可用版本: >= 1.0.0

返回值: 操作成功返回 ok ,否则返回错误信息。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 4
redis 127.0.0.1:6379> LSET mylist 0 "bar"
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1: "bar"
2) "hello"
3) "foo"
4) "hello"

16.Redis Lpush 命令 - 将一个或多个值插入到列表头部

简介

注意:在Redis 2.4版本以前的 LPUSH 命令,都只接受单个 value 值。Redis Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。Redis 列表(List)

语法

redis 127.0.0.1:6379> LPUSH KEY_NAME VALUE1.. VALUEN

可用版本: >= 1.0.0

返回值: 执行 LPUSH 命令后,列表的长度。

示例

redis 127.0.0.1:6379> LPUSH list1 "foo"
(integer) 1
redis 127.0.0.1:6379> LPUSH list1 "bar"
(integer) 2
redis 127.0.0.1:6379> LRANGE list1 0 -1
1) "foo"
2) "bar

17.Redis Rpushx 命令 - 为已存在的列表添加值

简介

Redis Rpushx 命令用于将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。Redis 列表(List)

语法

redis 127.0.0.1:6379> RPUSHX KEY_NAME VALUE1..VALUEN

可用版本: >= 2.2.0

返回值: 执行 Rpushx 操作后,列表的长度。

示例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSHX mylist2 "bar"
(integer) 0
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"

总结

在这里插入图片描述

往期回顾
Redis命令—String篇 (超全)
Redis命令—key篇 (超全)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C#]利用opencvsharp实现深度学习caffe模型人脸检测

【官方框架地址】 https://github.com/opencv/opencv/blob/master/samples/dnn/face_detector/deploy.prototxt 采用的是官方caffe模型res10_300x300_ssd_iter_140000.caffemodel进行人脸检测 【算法原理】 使用caffe-ssd目标检测框架训练的caffe模型进行深度学习模型检测 …

ubuntu 22.04 快速安装Odoo17.0详记

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 如果为阿里云或者腾讯云&#xff0c;第一步可以忽略 1.更换阿里云源 第一步&#xff1a;先备份下原始源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 第二步&#xff1a;修改文件 sudo cp /etc/apt/sou…

最常用的自动化测试框架汇总

在开始学习python自动化测试之前&#xff0c;先了解目前市场上的自动化测试框架有哪些&#xff1f; 随着技术的不断迭代更新&#xff0c;优胜劣汰也同样发展下来。从一开始工具型自动化&#xff0c;到现在的框架型&#xff1b;从一开始的能用&#xff0c;到现在的不仅能用&…

app广告变现——广告预加载机制,提升用户体验

通过广告预加载&#xff0c;开发者可以避免在向用户显示广告时出现延迟。 应用在程序启动时需要请求网络&#xff0c;加载资源会需要等待时间&#xff0c;如果在等待过程中没有及时给用户展现画面或反馈&#xff0c;用户很可能会因为等待时间过长而推出应用。广告预加载在此时…

「解析」Windows 如何优雅使用 Terminal

所谓工欲善其事必先利其器&#xff0c;对于开发人员 Linux可能是首选&#xff0c;但是在家学习的时候&#xff0c;我还是更喜欢使用 Windows系统&#xff0c;首先是稳定&#xff0c;其次是习惯了。当然了&#xff0c;我还有一台专门安装 Linux系统的小主机用于学习Linux使用&am…

从技术角度分析:HTTP 和 HTTPS 有何不同

网络安全问题正变得日益重要&#xff0c;而 HTTP 与 HTTPS 对用户数据的保护十分关键。本文将深入探讨这两种协议的特点、工作原理&#xff0c;以及保证数据安全的 HTTPS 为何变得至关重要。 认识 HTTP 与 HTTPS HTTP 的工作原理 HTTP&#xff0c;全称超文本传输协议&#xf…

2024年我国网络安全发展形势展望

2023年&#xff0c;我国网络安全政策法规陆续出台&#xff0c;网络安全与数据安全产业发展势头强劲&#xff0c;网络安全形势整体向好。展望2024年&#xff0c;世界各国在网络空间中的竞争将变得愈发激烈&#xff0c;我国网络安全领域的法律法规将不断完善&#xff0c;数据安全…

超好玩的烧脑当当狸智能五子棋,锻炼孩子的超级大脑

数码时代&#xff0c;儿童沉迷于电子设备和网络游戏已经成为了常态 作为家长&#xff0c;我们都希望能够找到一种&#xff0c;既有趣又益于孩子成长发展的娱乐方式 ✨「当当狸智能五子棋」&#xff0c;儿童智力成长的好帮手学玩一体锻炼儿童思维 不仅是一种新型休闲娱乐的方…

Linux第4步_安装VMwareTools

安装Ubuntu操作系统后&#xff0c;就可以安装VMwareTools了&#xff0c;目的是实现“电脑和虚拟机之间互相复制粘贴文件”。 1、双击桌面图标“VMware Workstation Pro”&#xff0c;然后点击下图中的“开机”&#xff0c;打开虚拟机电源。 2、双击下图中的用户名“zgq” 3、…

ARCGIS PRO SDK Geoprocessing

调用原型&#xff1a;Dim gpResult AS IGPResult await Geoprocessing.ExecuteToolAsync(调用工具名称, GPValue数组, environment, null, null, executeFlags) 一、调用工具名称&#xff1a;地理处理工具名称。如面转线&#xff1a;management.PolygonToLine&#xff0c;而非…

吉林大学19、21级计算机学院《计算机网络》期末真题试题

一、21级&#xff08;考后回忆&#xff09; 一、不定项选择&#xff08;一共10个选择题&#xff0c;一个两分&#xff0c;选全得满分&#xff09; 不定项&#xff1a;可以选择1~4个 考点有&#xff1a; ①协议、服务 ②码分多路复用通过接受码片序列&#xff0c;求哪个站点发送…

H5 - - - - - 获取图片exif相关信息

1. EXIF是什么 【可交换图像文件格式】&#xff1a;&#xff08;英语&#xff1a;Exchangeable image file format&#xff0c;官方简称Exif&#xff09;,是专门为数码相机的照片设定的&#xff0c;可以记录数码照片的属性信息和拍摄数据。 2. EXIF 相关标识 { ApertureValu…

代码随想录算法训练营第二十四天 | 回溯算法

理论基础 代码随想录原文 什么是回溯法 回溯也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 回溯法的效率 虽然回溯法很难&#xff0c;不好理解&#xff0c;但是回溯法并不是什么高效的算法。因为回溯的本…

SCA面面观 | 企业该如何选择组件检测工具?

一般来说&#xff0c;一个软件应用程序可以被分解成若干部分&#xff0c;为软件程序解耦&#xff0c;以减少整个应用程序的复杂性&#xff0c;这些部分就是软件组件。以一种标准化的方式相互作用&#xff0c;使得组件可以像机器的“零部件”一样被换入或换出&#xff0c;因组件…

【OpenCV】在MacOS上使用OpenCvSharp

前言 OpenCV是一个基于Apache2.0许可&#xff08;开源&#xff09;发行的跨平台计算机视觉和机器学习软件库&#xff0c;它具有C&#xff0c;Python&#xff0c;Java和MATLAB接口&#xff0c;并支持Windows&#xff0c;Linux&#xff0c;Android和Mac OS。OpenCvSharp是一个Op…

ubuntu 22 virt-manger(kvm)安装winxp

安装 、启动 virt-manager sudo apt install virt-manager sudo systemctl start libvirtdsudo virt-manager安装windowsXP 安装过程截图如下 要点1 启用 “包括寿终正寝的操作系统” win_xp.iso 安装过程 &#xff1a; 从winXp.iso启动, 执行完自己重启从硬盘重启&#xff0c…

太牛了!微信批量自动加好友你还不知道吗?

你还在一个一个地输入号码或微信号&#xff0c;再手动进行搜索添加好友吗&#xff1f;这样不仅费时费力&#xff0c;还可能会出现错误或是漏加的情况。 今天给大家分享一个支持多个微信号自动批量添加好友的宝藏工具&#xff0c;解放你的双手&#xff0c;帮你节省大量的时间和…

【SpringCloud】设计原则之数据一致性与设计模式

一、设计原则之数据一致性 数据一致性分以下几种情况。 强一致性 当更新操作完成之后&#xff0c;任何多个后续进程或线程的访问都会返回最新的更新过的值。这种是对用户最友好的&#xff0c;就是用户上一次写什么&#xff0c;下一次就保证能读到什么。根据 CAP 理论&#…

RBAC基于角色的访问控制

一 什么是RBAC 概念 RBAC 是基于角色的访问控制&#xff08;Role-Based Access Control &#xff09;在 RBAC 中&#xff0c;权限与角色相关联&#xff0c;用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的&#…

SD杂症:TemporalKit的key关键帧无图片问题

本地安装好temporalkit后&#xff0c;进行Ebsynth预处理后&#xff0c;居然发现key文件夹里&#xff0c;没有一张图片 搜遍百度&#xff0c;搜到了原因&#xff0c;也搜到了解决方案 但是。。。。这个解决方案我觉得很不cool&#xff0c;像个打补丁的老师傅&#xff0c;缝缝补补…