Redis学习路线(2)—— Redis的数据结构
一、Redis的数据结构
Redis是一个Key-Value的数据库,key一般是String类型,不过Value的类型却有很多:
- String:
Hello World
- Hash:
{name: "jack", age: 21}
- List:
[A -> B -> C -> C]
- Set:
{A, B, C}
- SortedSet:
{A: 1, B: 2, C: 3}
- GEO:
{A: (120.3, 30.5)}
- BitMap:
0110110101110101011
- HyperLog:
0110110101110101011
由于Redis对数据类型是按组别进行数据操作,所以我们可以到官网的文档进行查询,也可以通过命令行进行查询。
#查询string的操作符
help @string
二、Redis基本数据类型
(一)、String类型
String类型,也就是字符串类型,是Redis中最简单的存储类型。
其Value是字符串,根据字符串的格式不同,又可以分成 3 类:
- string: 字符串,最大操作空间为512mb
- int: 整数类型,可以做自增、自减操作
- float: 浮点类型,可以做自增、自减操作
查看操作文档
help @string
1、SET: 添加或者修改已经存在的Stirng类型键值对
(1)帮助文档描述
SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET]summary: Set the string value of a keysince: 1.0.0group: string
(2)使用命令
#设置 key-value 键值对
SET k1 1
2、GET: 根据key获取String类型的value
(1)帮助文档描述
GET keysummary: Get the value of a keysince: 1.0.0group: string
(2)使用命令
#获取 k1 的值,获取到 "1"
GET k1
3、MSET: 批量添加键值对
(1)帮助文档描述
MSET key value [key value ...]summary: Set multiple keys to multiple valuessince: 1.0.1group: string
(2)使用命令
#批量插入键值对
MSET k2 2 k3 3 k4 4
4、MGET: 批量根据key获取值
(1)帮助文档描述
MGET key [key ...]summary: Get the values of all the given keyssince: 1.0.0group: string
(2)使用命令
#批量根据key获取值,查询到的值: "1" "2" "3" "4" (nil) (nil),当我们查询一个没有的key,它的值为 nil,就是null的意思
MGET k1 k2 k3 k4 k5 k6
5、INCR: 让一个整型的key自增1
(1)帮助文档描述
INCR keysummary: Increment the integer value of a key by onesince: 1.0.0group: string
(2)使用命令
# 使一个key自增,返回自增后的数值:(integer) 2
INCR k1
6、INCRBY: 让一个整型的key自增并指定步长
(1)帮助文档描述
INCRBY key incrementsummary: Increment the integer value of a key by the given amountsince: 1.0.0group: string
(2)使用命令
# 使一个key自增指定步长,返回自增后的数值:(integer) 4
INCRBY k1 2
7、INCRBYFLOAT: 让一个浮点类型的key自增并指定步长
(1)帮助文档描述
INCRBYFLOAT key incrementsummary: Increment the float value of a key by the given amountsince: 2.6.0group: string
(2)使用命令
# 使一个key自增指定步长,k5=12.1,返回自增后的数值: "12.6"
INCRBYFLOAT k5 0.5
8、SETNX: 添加一个String类型的键值对,前提是这个key不存在,否则不执行
(1)帮助文档描述
SETNX key valuesummary: Set the value of a key, only if the key does not existsince: 1.0.0group: string
(2)使用命令
# 添加一个String键值对,取出来是"\xe8\xbf\x99\xe6\x98\xafkey6"
SETNX k6 这是key6
9、SETEX: 添加一个String类型的键值对,并且指定有效期
(1)帮助文档描述
SETEX key seconds valuesummary: Set the value and expiration of a keysince: 2.0.0group: string
(2)使用命令
# 添加一个指定时长的键值对,就是 SET k7 Jhon + EXPIRE k7 3000,命令执行
SETEX k7 3000 Jhon
思考: Redis没有MySQL中的Table的概念,如何区分不同类型的key。
例如:需要存储用户、商品信息到redis,由一个用户id是1,有个商品id也是1
key的结构
Redis的key允许有个多单词形成层级结构,多个单词之间用 “:” 隔开,格式如下:项目名:业务名:类型:id
(二)、Hash类型
Hash类型,页脚散列,其value是一个无序字典,类似HashMap结构
Hash结构的Value被分成了 field 和 value 字段,即一个 key 对应的是多个键值对。
查看操作文档
help @hash
1、HSET key field value: 添加或修改hash-key 的 field 值
(1)帮助文档描述
HSET key field value [field value ...]summary: Set the string value of a hash fieldsince: 2.0.0group: hash
(2)使用命令
HSET zengoo:user:1 name zain age 23 gender 0
2、HGET key field: 获取一个hash-key的field值
(1)帮助文档描述
HGET key fieldsummary: Get the value of a hash fieldsince: 2.0.0group: hash
(2)使用命令
HGET zengoo:user:1 name
3、HMSET: 批量添加多个hash-key的field值
(1)帮助文档描述
HMSET key field value [field value ...]summary: Set multiple hash fields to multiple valuessince: 2.0.0group: hash
(2)使用命令
HMSET zengoo:product:1 name HWMate40 price 4599 tag phone size large
4、HMGET: 批量获取多个hash-key的field值
(1)帮助文档描述
HMGET key field [field ...]summary: Get the values of all the given hash fieldssince: 2.0.0group: hash
(2)使用命令
HMGET zengoo:product:1 name price tag size
5、HGETALL: 获取一个hash-key的所有键值对
(1)帮助文档描述
HGETALL keysummary: Get all the fields and values in a hashsince: 2.0.0group: hash
(2)使用命令
HGETALL zengoo:product:1
6、HKEYS: 获取一个hash-key的所有field
(1)帮助文档描述
HKEYS keysummary: Get all the fields in a hashsince: 2.0.0group: hash
(2)使用命令
HKEYS zengoo:product:1
7、HVALS: 获取一个hash-key的所有value
(1)帮助文档描述
HVALS keysummary: Get all the values in a hashsince: 2.0.0group: hash
(2)使用命令
HVALS zengoo:product:1
8、HINCRBY: 让一个hash-key字段自增长指定步长
(1)帮助文档描述
HINCRBY key field incrementsummary: Increment the integer value of a hash field by the given numbersince: 2.0.0group: hash
(2)使用命令
HINCRBY zengoo:product:1 price 1
9、HSETNX: 添加一个hash-key的field,若存在则不执行
(1)帮助文档描述
HSETNX key field valuesummary: Set the value of a hash field, only if the field does not existsince: 2.0.0group: hash
(2)使用命令
HSETNX zengoo:product:1 provider HW
(三)、List类型
Redis的List类型与Java中 LinkedList 类似,可以看做是一个双向链表结果,既可以正向检索,又支持反向检索。
特征(链表特征):
- 有序
- 元素可重复
- 插入和删除快
- 查询速度一般
查询帮助文档
help @list
1、LPUSH key element…:入栈
(1)帮助文档描述
LPUSH key element [element ...]summary: Prepend one or multiple elements to a listsince: 1.0.0group: list
(2)使用命令
LPUSH zengoo:praise:1 Zengoo Zain Jhon Anna Andy
2、LPOP key: 出栈,没有则返回nil
(1)帮助文档描述
LPOP key [count]summary: Remove and get the first elements in a listsince: 1.0.0group: list
(2)使用命令
# 出栈指定 key 的 n 个 value
LPOP zengoo:praise:1 2
3、RPUSH key element…: 向队列插入一个或多个元素
(1)帮助文档描述
RPUSH key element [element ...]summary: Append one or multiple elements to a listsince: 1.0.0group: list
(2)使用命令
# 入栈指定 key 的 n 个 value
RPUSH zengoo:praise:2 1 2 3
4、RPOP key: 队列出队
(1)帮助文档描述
RPOP key [count]summary: Remove and get the last elements in a listsince: 1.0.0group: list
(2)使用命令
RPOP zengoo:praise:1 6
5、LRANGE key star end: 返回一段范围的所有元素
(1)帮助文档描述
LRANGE key start stopsummary: Get a range of elements from a listsince: 1.0.0group: list
(2)使用命令
# 读取指定 key 的 0-9 索引的值
LRANGE zengoo:parise:1 0 9
6、BLPOP 和 BRPOP: 与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil
(1)帮助文档描述
#BLPOPBLPOP key [key ...] timeoutsummary: Remove and get the first element in a list, or block until one is availablesince: 2.0.0group: list#BRPOPBRPOP key [key ...] timeoutsummary: Remove and get the last element in a list, or block until one is availablesince: 2.0.0group: list
(2)使用命令
BLPOP zengoo:parise:1 10
为什么有左右侧的分别?
因为redis的list是链表形式的,可以从左右两侧挂载数据,可以认为是一个双向队列。
这里的BLPOP或者BRPOP中的B到底是什么意思?
这里的 B 是阻塞的意思,即等待一定的时间,要么过期,要么获取到值。
(四)、Set类型
Redis的Set结构与Java中的HashSet类似,可以看做一个value为null的hashSet,因为是一个hash表,因此具有与hashSet类似的特征:
- 无序
- 元素不重复
- 查找快
- 支持交并补差的操作
查询帮助文档
help @set
1、SADD key member…: 向set添加一个或多个元素
(1)帮助文档描述
SADD key member [member ...]summary: Add one or more members to a setsince: 1.0.0group: set
(2)使用命令
SADD zengoo:friends:1 Any Femon Lucy Karen Elean
2、SREM key member…: 删除set中的指定元素
(1)帮助文档描述
SREM key member [member ...]summary: Remove one or more members from a setsince: 1.0.0group: set
(2)使用命令
SREM zengoo:friends:1 Lucy
3、SCARD key: 返回set中元素的个数
(1)帮助文档描述
SCARD keysummary: Get the number of members in a setsince: 1.0.0group: set
(2)使用命令
SCARD zengoo:friends:1
4、SISMEMBER key member: 判断一个元素是否存在
(1)帮助文档描述
SISMEMBER key membersummary: Determine if a given value is a member of a setsince: 1.0.0group: set
(2)使用命令
SISMEMBER zengoo:friends Lucy
5、SMEMBERS: 获取set中的所有元素
(1)帮助文档描述
SMEMBERS keysummary: Get all the members in a setsince: 1.0.0group: set
(2)使用命令
SMEMBERS zengoo:friends:1
6、SINTER ke1 key2…: 求key1与key2的交集
(1)帮助文档描述
SINTER key [key ...]summary: Intersect multiple setssince: 1.0.0group: set
(2)使用命令
SINTER zengoo:friends:1 zengoo:friends:2
7、SDIF key1 key2…: 求key1与key2的差集
(1)帮助文档描述
SDIFF key [key ...]summary: Subtract multiple setssince: 1.0.0group: set
(2)使用命令
SDIFF zengoo:friends:1 zengoo:friends:2
8、SUNION key1 key2…: 求key1与key2的并集
(1)帮助文档描述
SUNION key [key ...]summary: Add multiple setssince: 1.0.0group: set
(2)使用命令
SUNION zengoo:friends:1 zengoo:friends:2
(五)、SortedSet类型
Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet类似,但底层的数据结构却差距很大。
SortedSet的每一个元素都带有score属性,可以给予score属性对元素进行排序,底层的视线是一个跳表(SkipList)+ Hash表。
查询文档:
help @sorted_set
特点:
- 可排序
- 元素不重复
- 查询速度快
1、ZADD key score member: 添加一个或多个元素到sorted set,如果存在则更新score
(1)帮助文档描述
ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...]summary: Add one or more members to a sorted set, or update its score if it already existssince: 1.2.0group: sorted_set
(2)使用命令
ZADD zengoo:basketball:zhejiang 1 yudu 2 kongjue 3 luosuan 4 alintuw 5 kuku
2、ZREM key member: 删除sorted set中的一个指定元素
(1)帮助文档描述
ZREM key member [member ...]summary: Remove one or more members from a sorted setsince: 1.2.0group: sorted_set
(2)使用命令
ZREM zengoo:basketball:xinjiang removeObject
3、ZSCORE key member: 获取sorted set中的指定元素的score
(1)帮助文档描述
ZSCORE key membersummary: Get the score associated with the given member in a sorted setsince: 1.2.0group: sorted_set
(2)使用命令
ZSCORE zengoo:basketball:zhejiang yudu
4、ZRANK key member: 获取sorted set中指定元素的排名
(1)帮助文档描述
ZRANK key membersummary: Determine the index of a member in a sorted setsince: 2.0.0group: sorted_set
(2)使用命令
ZRANK zengoo:basketball:zhejiang kuku
5、ZCARD key: 获取sorted set 中的元素个数
(1)帮助文档描述
ZCARD keysummary: Get the number of members in a sorted setsince: 1.2.0group: sorted_set
(2)使用命令
ZCARD zengoo:basketball:zhejiang
6、ZCOUNT key min max: 统计score值在指定范围内的所有元素的个数
(1)帮助文档描述
ZCOUNT key min maxsummary: Count the members in a sorted set with scores within the given valuessince: 2.0.0group: sorted_set
(2)使用命令
ZCOUNT zengoo:basketball:zhejiang 2 5
7、ZINCRBY key increment member: 让sorted set 中的指定元素自增,并自定义步长
(1)帮助文档描述
ZINCRBY key increment membersummary: Increment the score of a member in a sorted setsince: 1.2.0group: sorted_set
(2)使用命令
ZINCRBY zengoo:basketball:zhejiang 10 kuku
8、ZRANGE key min max: 按照score排序后,获取指定排名范围内的元素
(1)帮助文档描述
ZRANGE key min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]summary: Return a range of members in a sorted setsince: 1.2.0group: sorted_set
(2)使用命令
ZRANGE zengoo:basketball:zhejiang 1 16
9、ZRANGEBYSCORE key min max: 按照score排序后,获取指定score范围内的元素
(1)帮助文档描述
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]summary: Return a range of members in a sorted set, by scoresince: 1.0.5group: sorted_set
(2)使用命令
ZRANGEBYSCORE zengoo:basketball:zhejiang 0 100
10、ZDIFF、ZINTER、ZUNION: 求差集、交集、并集
(1)帮助文档描述
ZDIFF numkeys key [key ...] [WITHSCORES]summary: Subtract multiple sorted setssince: 6.2.0group: sorted_setZINTER numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]summary: Intersect multiple sorted setssince: 6.2.0group: sorted_setZUNION numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]summary: Add multiple sorted setssince: 6.2.0group: sorted_set
三、Redis特殊数据类型
(一)GEO类型: 地理信息
(二)BitMap类型
(三)HyperLog类型
四、Redis通用命令
通用命令是不分数据类型通用的操作命令
(一)查询generic文档
help @generic
(二)常用命令:
1、KEYS: 查看符合模板的所有key(因为Redis是单线程执行,所以不建议在生产环境使用)。
(1)帮助文档描述
KEYS pattern #命令格式summary: Find all keys matching the given pattern #命令作用since: 1.0.0 #起源版本group: generic #隶属组别
(2)使用命令
#查询当前数据库的所有key
KEYS *#查询以a结尾的所有key
KEYS a*
2、DEL: 删除指定的Key
(1)帮助文档描述
DEL key [key ...]summary: Delete a keysince: 1.0.0group: generic
(2)使用命令
#删除指定key(返回真实删除数)
DEL key1 key2
3、EXISTS: 查看是否存在指定key
(1)帮助文档描述
EXISTS key [key ...]summary: Determine if a key existssince: 1.0.0group: generic
(2)使用命令
#查询指定key是否存在(返回查询到的数量,若为0则不存在key,若有则存在key)
EXISTS k2
#我的数据库中只有k1 一个key,所以查询k2的结果是 (integer) 0#查询多个key是否存在,缺陷是无法判断哪个存在
EXISTS k1 k2
#查询到的结果是 (integer) 1
4、EXPIRE: 给key设置有效期,到期删除(一看到这个就能想到外卖的付款倒计时)
因为内存是临时的,所以需要有效期,所以才会有这个命令
(1)帮助文档描述
EXPIRE key secondssummary: Set a key's time to live in secondssince: 1.0.0group: generic
(2)使用命令
#给 key1 设置一个 5s 的时间,查看5s后是否还存在
EXPIRE k1 5
EXISTS k1//5s后,再次查询k1
EXISTS k1
5、TTL: 查看一个key的有效期
(1)帮助文档描述
TTL keysummary: Get the time to live for a keysince: 1.0.0group: generic
(2)使用命令
#查看一个未设置有效期的key,查询结果: (integer) -1,代表永久有效
TTL k2#查看一个设置有效期为5分钟的key,查询结果: (integer) 2996,若过期,则为-2
TTL k1
相关文章:
Redis学习路线(2)—— Redis的数据结构
一、Redis的数据结构 Redis是一个Key-Value的数据库,key一般是String类型,不过Value的类型却有很多: String: Hello WorldHash: {name: "jack", age: 21}List: [A -> B -> C -> C]Set…...

【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析) Redis提供的持久化机制Redis持久化如何工作Redis持久化的故障分析持久化频率操作分析数据库多久调用一次write,将数据写入内核缓冲区?内核多久将系统缓冲…...
IT管理者年过50后何去何从
最近面试了一位前职为IT技术及管理专家,知名院校硕士毕业,唯一不同的是,他是一名已过50岁的IT技术及管理者。一直知道过了50岁,我们估计会有很大的坎,但是那时候从未曾想过连我们保险公司都会因为年龄而拒绝这样优秀的…...
C++字符串题基础(进阶请看下一个文章)
打印小写字母表 #include<iostream> #include<string.h> #include<iomanip> #include<stdio.h> #include<cmath> using namespace std; int main() {char na;for(int i1;i<13;i){cout<<n;n;}cout<<endl;for(int i1;i<13;i){c…...
webpack如何实现热更新?
webpack如何实现热更新? 要使用 Webpack 实现热更新,可以按照以下步骤进行配置: 1.在项目中安装 Webpack 和相关的开发依赖: npm install webpack webpack-cli webpack-dev-server --save-dev2.创建一个名为 webpack.dev.js 的…...

REST API的基础:HTTP
在本文中,我们将深入探讨万维网数据通信的基础 - HTTP。 什么是超文本? HTTP(超文本传输协议)的命名源于“超文本”。 那么,什么是超文本? 想象一下由超链接组成的文本、图像和视频的混合物。这些链接充当我…...

基于Docker-compose创建LNMP环境并运行Wordpress网站平台
基于Docker-compose创建LNMP环境并运行Wordpress网站平台 1.Docker-Compose概述2.YAML文件格式及编写注意事项3.Docker-Compose配置常用字段4.Docker Compose常用命令5.使用Docker-compose创建LNMP环境,并运行Wordpress网站平台1. Docker Compose 环境安装下载安装查…...

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境3
4、下载MaixPy IDE,MaixPy 使用Micropython 脚本语法,所以不像 C语言 一样需要编译,要使用MaixPy IDE , 开发板固件必须是V0.3.1 版本以上(这里使用V0.5.0), 否则MaixPy IDE上会连接不上, 使用前尽量检查固…...

Java语言跨平台执行的核心JVM
本文重点 在前面的课程中,我们介绍了java中的三层JDK->JRE->JVM,其中JVM称为Java的虚拟机,只是用来执行的,JRE是运行环境,要想在操作系统中运行,除了JVM还需要类库,JDK=JRE+开发的包和工具。本文就将介绍一下JVM究竟为何物? JVM 有的人会认为JVM是java中的东西…...

家政服务小程序制作攻略揭秘
想要打造一个家政服务小程序,但是又不懂编程和设计?不用担心!下面将为你详细介绍如何利用第三方平台,从零开始打造一个家政服务小程序。 首先,你需要找到一个适合的第三方平台,例如乔拓云网。在乔拓云网的【…...
2023-07-29力扣每日一题
链接: 141. 环形链表 题意: 求链表是否有环 解: 刚好昨天做完的初级算法链表题,翻转和暴力 实际代码: #include<iostream> using namespace std; struct ListNode {int val;ListNode *next;ListNode() : …...

Dual pyramid GAN for semantic image synthesis
为了解决在图像合成时候小物体容易消失,大物体经常作为块的拼接来生成的。本文提出DP-GAN在所有尺度下共同学习空间自适应归一化模块的条件。这样尺度信息就会被双向使用,他统一了不同尺度的监督。(重点看图和代码) SPADE模块解释 GAN在生成包含许多不同…...

【Linux】更换jdk版本
目录 一、前言二、查看jdk版本号1、项目中的版本号(pom.xml)2、服务器中的版本号 三、更换jdk版本1、创建java文件夹2、下载并解压JDK安装包①、下载jdk安装包②、移动到创建好的/usr/local/java路径下③、解压jdk安装包 四、删除原来的jdk版本1、删除原…...

web-暴力破解密码
Burte Force(暴力破解)概述 暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率&…...

基础实验篇 | CopterSim中回传提示消息实验
基础实验篇|CopterSim中回传提示消息实验 01实验名称及目的 回传提示消息实验:在飞控中,我们时常需要向外发布一些文字消息,来反映系统当前的运行状态,这个功能可以通过发送“mavlink_log”的uORB消息来实现。 02实验效果 在Cop…...
vue基础-动态style
vue基础-动态style 1、目标2、语法 1、目标 给标签动态设置style值 2、语法 :style"{style属性名:值}"示例: <template><div id"app"><div><p :style"{backgroundColor:color}">动态styleclass</p>…...
vue3使用响应式数据 + v-model导致响应式失效el-form表单无法输入的问题
文章目录 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 参考文章 重构vue2项目时发现的问题,原始项目使用的是Element-ui。 其实vue3可以使用适配的Element-plus 问…...

线段树详解 原理解释 + 构建步骤 + 代码(带模板)
目录 介绍: 定义: 以具体一个题目为例: 树的表示方法: 实现步骤: 构建结点属性: pushup函数: build函数: pushdown函数: modify函数: query…...
Java中Timer的使用
Timer 简述 在Java中,Timer(计时器)是一个用于安排定时任务的类。它可以实现在指定的时间间隔或指定的时间点执行某项任务或操作。 简单的来说Timer就是在Java中用来实现定时任务的工具。 Timer的API Timer中有两API可以使用分别是schedule…...
关于EJB,这两文把热闹和门道都说清楚了
关于技术的很多概念,如果你是小白,不建议看官网。原因就在于官网描述太抽象,就像八股文,看完感觉好像说了很多,但回过头又感觉似乎啥都没说。太虚、不接地气,是最大毛病。其实这些官网的打太极式的表述&…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...