Redis 从入门到精通【进阶篇】之redis主从复制详解

news2024/11/27 3:45:05

文章目录

  • 0. 前言
    • (1)概述
    • (2) 主从复制设计的目的:
  • 1. 原理解析
    • 1.1 全量复制
    • 1.2 增量复制
  • 2. 主从节点配置
  • 3. 常见问题
    • 3.1. 当主服务器不进行持久化时复制的安全性
    • 3.2. 为什么主从全量复制使用RDB而不使用AOF?
    • 3.3. 为什么还有无磁盘复制模式?
    • 3.4. 为什么还会有从库的从库的设计?
    • 3.5. 读写分离及其中的问题
  • 3. Redis从入门到精通系列文章
  • 4. 面试简答
    • 4.1. 什么是Redis主从复制?
    • 4.2. Redis主从复制有什么作用?
    • 4.3. Redis主从复制的原理是什么?
    • 4.4. 如何配置Redis主从复制?
    • 4.5. Redis主从复制的流程是怎样的?
    • 4.6. 主从复制过程中可能会出现什么问题?
    • 4.7.主从复制有哪些优点?
    • 4.8. 主从复制有哪些缺点?
    • 4.8.主从复制的配置文件有哪些关键参数?
    • 4.9. 主从复制中的主节点和从节点有什么区别?
    • 4.10. Redis主从复制是否支持多级复制?
    • 4.11. Redis主从复制中如何处理网络故障和节点故障?
    • 4.12. 如何监控Redis主从复制的状态?
    • 4.13. Redis主从复制中如何实现数据同步?
    • 4.14. 主从复制中的数据一致性如何保证?
    • 4.15. 主从复制中的数据延迟问题如何解决?
    • 4.16. 主从复制中的并发写入如何处理?
    • 4.17. 主从复制是否支持数据双向同步?
    • 4.18. 主从复制是否支持故障切换?
    • 4.19. 主从复制中的节点角色可以切换吗?
    • 4.20. Redis主从复制和Sentinel有什么区别?

在这里插入图片描述

0. 前言

Redi 它支持主从复制来提高系统的可用性。本章节我们来聊一下关于Redis主从复制配置和原理。
Redis主从复制也是面试的一个热点我大概总结了如下面试常见面试题
以下是20道关于Redis主从复制的常见面试题

  1. 什么是Redis主从复制?
  2. Redis主从复制的作用是什么?
  3. Redis主从复制的原理是什么?
  4. Redis主从复制的流程是怎样的?
  5. Redis主从复制有哪些优点?
  6. Redis主从复制有哪些缺点?
  7. 如何配置Redis主从复制?
  8. Redis主从复制的配置文件有哪些关键参数?
  9. Redis主从复制中的主节点和从节点有什么区别?
  10. Redis主从复制是否支持多级复制?
  11. Redis主从复制中如何处理网络故障和节点故障?
  12. 如何监控Redis主从复制的状态?
  13. Redis主从复制中如何实现数据同步?
  14. Redis主从复制中的数据一致性如何保证?
  15. Redis主从复制中的数据延迟问题如何解决?
  16. Redis主从复制中的并发写入如何处理?
  17. Redis主从复制是否支持数据双向同步?
  18. Redis主从复制是否支持故障切换?
  19. Redis主从复制中的节点角色可以切换吗?
  20. Redis主从复制和Redis Sentinel有什么区别?

希望我们这个章节学完,我们能简答这些题。

(1)概述

Redis主从复制是一种数据复制机制,它允许将一个Redis服务器(称为主节点)的数据复制到一个或多个其他Redis服务器(称为从节点)上。主从复制在Redis中具有重要的作用,可以提高系统的可用性、扩展性和数据冗余性。

主从复制的实现基于异步复制的方式。当一个Redis主节点接收到写命令时,它会将这些命令记录在内存中,并将这些命令发送给所有的从节点。从节点在接收到这些命令后,会执行相同的操作来保持与主节点的数据一致性。从节点还可以处理读请求,这样可以减轻主节点的负载。
主从复制的配置包括以下几个步骤:

  1. 配置主节点:在主节点的配置文件中,需要设置replicaof指令来告诉主节点它的从节点是谁。例如,replicaof <masterip> <masterport>。此外,还需要设置masterauth指令来设置主节点的密码(如果有的话)。

  2. 配置从节点:在从节点的配置文件中,需要设置slaveof指令来告诉从节点它的主节点是谁。例如,slaveof <masterip> <masterport>。还可以设置slave-read-only指令来控制从节点是否可以处理读请求。

  3. 启动Redis服务:分别启动主节点和从节点的Redis服务。

  4. 检查复制状态:使用info replication命令可以查看主从节点的复制状态。如果复制状态正常,从节点的角色会显示为slave,并且会显示主节点的IP地址和端口号。

(2) 主从复制设计的目的:

  1. 提高可用性:当主节点出现故障时,可以快速切换到从节点,保证系统的可用性。从节点可以承担主节点的读写请求,确保服务的连续性。
  2. 扩展性:可以通过添加多个从节点来提高系统的读取能力。从节点可以处理读请求,分担主节点的压力。
  3. 数据冗余:从节点存储了主节点的数据副本,可以在主节点发生故障时快速恢复数据。

需要注意的是,主从复制是异步的,这意味着从节点的数据可能会有一定的延迟。此外,主从复制只能实现单向的数据复制,即主节点到从节点的复制,不能实现从节点到主节点的复制。如果需要实现双向复制,可以使用Redis的哨兵模式或集群模式。

1. 原理解析

Redis主从复制的原理主要包括全量复制和增量复制。

  1. 配置主节点:首先,需要在Redis中配置一个主节点。主节点是负责处理客户端的读写请求,并将数据复制到从节点。

  2. 配置从节点:在主节点配置完成后,可以配置一个或多个从节点。从节点会连接到主节点,并主动请求复制数据。

  3. 数据同步:主节点会将写操作记录在内存中的数据变更发送给从节点,从节点接收到变更后,会将其应用到自己的数据库中,保持与主节点的数据一致性。

  4. 异步复制:主节点和从节点之间的数据复制是异步的,即主节点无需等待从节点的确认,可以继续处理其他请求。这样可以提高系统的性能和响应速度。

  5. 增量复制:主从复制使用的是增量复制,即主节点只发送发生变化的数据给从节点,而不是完整的数据集。这样可以减少网络传输的数据量,提高复制的效率。

  6. 故障恢复:如果主节点发生故障,从节点可以自动切换成主节点,继续提供服务。当主节点恢复后,可以重新配置为从节点,实现主从切换和故障恢复。

我们着重讲解 全量复制增量复制

1.1 全量复制

全量复制是指从服务器在初次连接主服务器时,主服务器将自己当前的数据库全部数据传输给从服务器的过程。全量复制操作一般在从服务器重启或者初次连接主服务器时进行。

全量复制的过程:

  1. 从服务器连接主服务器并发送SYNC命令。
  2. 主服务器接收到SYNC命令后,在后台创建一个RDB文件,并将当前数据库的所有数据写入该文件。
  3. 主服务器将RDB文件发送给从服务器,从服务器接收并保存该文件。
  4. 从服务器载入该RDB文件,将所有的数据写入本地数据库中。
    在这里插入图片描述*图片来自极客时间

1.2 增量复制

增量复制是指从服务器在完成全量复制后,主服务器对数据库进行更新时,将更新操作发送给从服务器的过程。增量复制操作在全量复制完成后,主从服务器之间一直保持连接并进行数据同步。

增量复制的过程如下:

  1. 主服务器接收到客户端的写命令,将写命令发送给所有连接的从服务器。
  2. 从服务器接收到写命令并执行,将执行结果返回给主服务器。
  3. 主服务器将执行结果发送给所有连接的从服务器,并让它们执行相同的操作。
    在这里插入图片描述*图片来自极客时间

2. 主从节点配置

1. 下载并安装Redis。以centos7为示例

  1. 更新系统: bash sudo yum update
  2. 安装必要的依赖: sudo yum install epel-release yum-utils sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi
  3. 安装Redis: sudo yum install redis
  4. 启动Redis服务: sudo systemctl start redis
  5. 设置Redis开机自启动: sudo systemctl enable redis
  6. 检查Redis是否成功安装: redis-cli ping
    如果返回 “PONG”,则表示Redis已成功安装。

自定义Redis的配置,可以编辑 /etc/redis.conf 文件进行相应的修改。

2. 在主节点上,打开Redis的配置文件redis.conf,并进行以下更改:

   port 6379                 # 设置主节点的端口号,默认为6379
   bind 127.0.0.1           # 设置主节点的IP地址
   daemonize yes           # 设置为守护进程模式
   pidfile /var/run/redis/redis-server.pid   # 设置主节点的pid文件路径
   appendonly yes         # 开启AOF持久化
   
   # 设置主节点的密码认证(可选)
   requirepass your_password
   
   # 启用主节点的复制功能
   replicaof no one

3. 在从节点上,打开Redis的配置文件redis.conf,并进行以下更改:

port 6380                 # 设置从节点的端口号,默认为6380
bind 127.0.0.1           # 设置从节点的IP地址
daemonize yes           # 设置为守护进程模式
pidfile /var/run/redis/redis-server.pid   # 设置从节点的pid文件路径
appendonly yes         # 开启AOF持久化

# 设置从节点的密码认证(可选)
requirepass your_password

# 启用从节点的复制功能,将主节点的IP地址和端口号填入以下配置
replicaof 127.0.0.1 6379

4. 保存并关闭配置文件。

5. 启动Redis主节点和从节点。在终端中分别输入以下命令:

redis-server /path/to/redis.conf   # 启动主节点
redis-server /path/to/redis.conf   # 启动从节点

6. 确保主节点和从节点已经成功启动,并且没有报错信息。

7. 在主节点上,你可以使用命令redis-cli连接到Redis服务器,并进行一些操作,如设置键值对等。

8. 在从节点上,使用命令redis-cli连接到Redis服务器,并使用命令INFO replication检查从节点的状态。如果复制成功,你应该能够看到主节点的相关信息。

3. 常见问题

3.1. 当主服务器不进行持久化时复制的安全性

当主服务器不进行持久化时,主从复制的安全性可能会受到影响。如果主服务器在发生故障时没有进行持久化操作,那么从服务器就无法从主服务器中获取最新的数据。因此,建议在主服务器上开启持久化功能,以确保数据的安全性。

3.2. 为什么主从全量复制使用RDB而不使用AOF?

主从全量复制使用RDB而不使用AOF主要是因为RDB文件的体积比AOF文件小得多,传输速度更快,且在从服务器恢复数据时,从RDB文件中加载数据比从AOF文件中加载数据更快。

3.3. 为什么还有无磁盘复制模式?

无磁盘复制模式是指从服务器不写入任何磁盘数据,而是将所有的数据都存储在内存中。这种模式可以提高从服务器的性能,并减少磁盘I/O的负载。但是,这种模式下,从服务器在重启后需要重新进行全量复制。

3.4. 为什么还会有从库的从库的设计?

从库的从库设计可以进一步提高系统的可用性和性能。当主服务器发生故障时,从服务器可以立即接管主服务器的工作。而从库的从库设计可以将这个过程进一步优化,使得从服务器可以更快地接管主服务器的工作。但是,从库的从库设计会增加系统的复杂度,并且可能会导致数据同步延迟的问题。

3.5. 读写分离及其中的问题

读写分离是指将读操作和写操作分别分配到不同的服务器上执行的过程。这种方式可以提高系统的性能,并减少单个服务器的压力。在Redis中,可以通过将主服务器用于写操作,将从服务器用于读操作来实现读写分离。然而,读写分离也会带来一些问题。首先,由于主从复制的延迟,从服务器可能无法及时地获取最新的数据。其次,读写分离可能会造成数据不一致的问题,因为写操作和读操作之间可能存在时间差。为了解决这些问题,可以使用一些技术手段,如使用一致性哈希算法、使用Redis Sentinel或使用Redis Cluster等。这些方法可以帮助系统更好地实现读写分离,并保证数据的一致性和可用性。

3. Redis从入门到精通系列文章

《Redis 从入门到精通【进阶篇】之Redis事务详解》
《Redis从入门到精通【进阶篇】之对象机制详解》
《Redis从入门到精通【进阶篇】之消息传递发布订阅模式详解》
《Redis从入门到精通【进阶篇】之持久化 AOF详解》
《Redis从入门到精通【进阶篇】之持久化RDB详解》
《Redis从入门到精通【高阶篇】之底层数据结构字典(Dictionary)详解》
《Redis从入门到精通【高阶篇】之底层数据结构快表QuickList详解》
《Redis从入门到精通【高阶篇】之底层数据结构简单动态字符串(SDS)详解》
《Redis从入门到精通【高阶篇】之底层数据结构压缩列表(ZipList)详解》
《Redis从入门到精通【进阶篇】之数据类型Stream详解和使用示例》

4. 面试简答

当面试涉及Redis主从复制时,以下是一些常见的问题:

4.1. 什么是Redis主从复制?

  • Redis主从复制是一种数据复制机制,通过配置一个或多个从节点,使其复制主节点的数据。主节点负责接收写操作并将数据复制到从节点,从节点则负责接收读操作并返回数据。

4.2. Redis主从复制有什么作用?

-主从复制可以提高系统的可用性、扩展性和数据冗余性。当主节点出现故障时,从节点可以接替主节点继续提供服务;同时,通过增加从节点来分担主节点的读写负载,提高系统的性能;此外,主从复制还可以用于数据备份和灾备。

4.3. Redis主从复制的原理是什么?

  • 主从复制的原理是通过Redis的内部机制(例如:全量复制和增量复制)来实现数据的同步。主节点将写操作记录到内存中的命令缓冲区,并将这些命令发送给从节点进行执行,从而实现数据的同步。

4.4. 如何配置Redis主从复制?

  • 配置Redis主从复制需要在主节点和从节点的Redis配置文件中进行相应的设置。主节点需要设置 replicaof 命令来指定从节点的地址和端口,从节点需要设置 replicaof 命令来指定主节点的地址和端口。

4.5. Redis主从复制的流程是怎样的?

主从复制的流程如下:

  • 从节点连接到主节点并发送SYNC命令,请求全量数据同步。
  • 主节点接收到SYNC命令后,开始执行BGSAVE命令生成RDB快照文件,并将期间的写命令记录在复制缓冲区中。
  • 当BGSAVE完成后,主节点将RDB快照文件发送给从节点,并将缓冲区中的写命令发送给从节点。
  • 从节点接收到RDB文件和写命令后,先加载RDB文件恢复数据,然后再执行写命令,使得从节点的数据与主节点保持一致。
  • 之后,主节点会持续地将写命令发送给从节点,保持数据的同步。

4.6. 主从复制过程中可能会出现什么问题?

  • 在主从复制过程中,可能会出现网络故障、主节点宕机、从节点宕机等问题。这些问题可能导致数据同步中断或数据丢失。为了解决这些问题,可以配置Redis的故障转移机制,如哨兵模式或集群模式。

4.7.主从复制有哪些优点?

  • 提高系统的可用性:当主节点出现故障时,可以快速切换到从节点,保证系统的持续可用性。
  • 扩展性和负载均衡:通过增加从节点来分担主节点的读写负载,提高系统的性能。
  • 数据冗余和备份:从节点可以作为主节点的副本,用于数据的备份和灾备。

4.8. 主从复制有哪些缺点?

  • 数据延迟:主从复制是异步的,从节点的数据可能会有一定的延迟。
  • 单点故障:如果主节点出现故障,并且没有设置故障切换机制,整个系统可能会不可用。
  • 写操作限制:从节点默认是只读的,不能进行写操作,需要在需要写操作时将其设置为可写。

4.8.主从复制的配置文件有哪些关键参数?

主从复制的配置文件中常见的关键参数包括:

  • slaveof:设置主节点的IP地址和端口号。
  • masterauth:设置主节点的密码。
  • slave-read-only:设置从节点是否只读。
  • repl-diskless-sync:设置从节点是否使用无盘同步。
  • repl-diskless-sync-delay:设置从节点使用无盘同步时的延迟时间。

4.9. 主从复制中的主节点和从节点有什么区别?

主节点是数据的源头,负责接收客户端的写操作,并将写命令发送给从节点。从节点是主节点的副本,负责接收主节点发送的写命令,并执行这些命令来保持数据的同步。

4.10. Redis主从复制是否支持多级复制?

是的,Redis主从复制支持多级复制。一个从节点可以作为另一个从节点的主节点,从而形成多级复制的结构。

4.11. Redis主从复制中如何处理网络故障和节点故障?

  • 网络故障:当主节点与从节点之间的网络连接断开时,从节点会尝试重新连接主节点,并等待恢复。
  • 节点故障:当主节点出现故障时,可以手动或自动将一个从节点切换为主节点,继续提供服务。

4.12. 如何监控Redis主从复制的状态?

可以使用Redis内置的命令INFO或者使用第三方工具来监控Redis主从复制的状态。INFO命令可以查看主节点和从节点的相关信息,包括复制状态、延迟时间等。

4.13. Redis主从复制中如何实现数据同步?

主从复制中的数据同步是通过主节点将写命令发送给从节点来实现的。从节点按照接收到的写命令顺序执行,从而保持与主节点的数据一致。

4.14. 主从复制中的数据一致性如何保证?

Redis主从复制中的数据一致性是通过主节点将写命令发送给从节点来保证的。主节点会将写命令记录在复制缓冲区中,并异步地发送给从节点,从节点按照接收到的命令顺序来执行,从而保持数据的一致性。

4.15. 主从复制中的数据延迟问题如何解决?

Redis主从复制中的数据延迟是由于异步复制的特性造成的。可以通过以下方法来解决数据延迟问题:

  • 使用命令WAIT:可以在写命令后面加上WAIT命令,等待指定数量的从节点确认接收到命令后再返回结果。
  • 使用AOF持久化:将主节点的写命令记录到AOF日志中,从节点可以通过读取AOF日志来进行数据同步,从而减少数据延迟。

4.16. 主从复制中的并发写入如何处理?

在Redis主从复制中,只有主节点可以处理写操作,从节点默认是只读的。如果需要在从节点上进行写操作,可以将从节点设置为可写。但是需要注意的是,多个从节点同时对同一个键进行写操作可能会导致数据冲突和不一致。

4.17. 主从复制是否支持数据双向同步?

Redis主从复制默认是单向的,只有主节点向从节点复制数据。如果需要实现数据的双向同步,可以通过设置多个主节点和从节点来实现。

4.18. 主从复制是否支持故障切换?

是的,Redis主从复制支持故障切换。当主节点出现故障时,可以手动或自动将一个从节点切换为主节点,继续提供服务。

4.19. 主从复制中的节点角色可以切换吗?

是的,Redis主从复制中的节点角色是可以切换的。可以手动或自动将一个从节点切换为主节点,或将一个主节点切换为从节点。

4.20. Redis主从复制和Sentinel有什么区别?

Redis主从复制是一种数据复制机制,用于实现数据的异步复制和故障切换。Redis Sentinel是一个用于监控和管理Redis集群的工具,用于实现自动故障发现和故障切换。它可以监控Redis主从复制的状态,并在主节点发生故障时自动进行故障切换。
这些问题涵盖了Redis主从复制的基本概念、原理和配置。在面试中,你可能还会遇到更深入的问题,因此建议你对Redis主从复制的细节进行更深入的了解。

在这里插入图片描述
大家好,我是冰点,今天的redis主从复制详解全部内容就是这些。如果你有疑问或见解可以在评论区留言。

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

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

相关文章

selenium自动化设计框架之 page object设计模式介绍

目录 PageObject 简介 PageObject 使用 PageObject 六大原则 基于钉钉打卡的 PO 实战案例 实战代码 总结&#xff1a; pageobject设计思想出自于马丁福勒&#xff08;Martin Flower&#xff0c;对&#xff0c;没错&#xff0c;就是软件教父&#xff09;官网的一篇文章&am…

使用selenium模拟登录解决滑块验证问题

目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻&#xff0c;本来最开始是模拟请求的&#xff0c;但是某一天突然发现&#xff0c;部分账号需要经过滑块验证才能正常登录&#x…

给大家演示 InsCode Stable Diffusion 美图活动一期

给大家演示 使用 InsCode Stable Diffusion 今天有点无聊&#xff0c;难得领导出差的出差&#xff0c;请假的请假&#xff0c;开会的开会。 心想&#xff0c;此时不摸鱼更待何时。 下面给大家随便验收一番Diffusion &#xff0c;在这之前也使用了很多&#xff0c;讲真&#xf…

谈谈VPN是什么、类型、使用场景、工作原理

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解VPN是什么、以及它的类型、使用场景、工作原理。 目录 一、VPN是什么&#xff1f; 二、VPN的类型 1、站点对站点VPN 2、…

单片机第一季:零基础6——定时器和计时器

目录 1&#xff0c;单片机定时器原理 2&#xff0c;51单片机定时器/计数器结构 3&#xff0c;定时器配置 4&#xff0c;示例代码-通过定时器控制LED灯间隔1s闪烁 51 单片机有两组定时器/计数器&#xff0c;因为既可以定时&#xff0c;又可以计数&#xff0c;故称之为定时…

【R语言】机器学习-手撕逻辑回归

【R语言】机器学习-手撕逻辑回归 算法原理 逻辑回归是一种常用的分类算法&#xff0c;它在机器学习领域有着广泛的应用。在介绍具体的实现细节之前&#xff0c;我们先来了解一下逻辑回归的算法原理。 sigmoid函数 逻辑回归使用sigmoid函数&#xff08;也称为逻辑函数&#…

《TCP IP网络编程》第四章

第 4 章 基于 TCP 的服务端/客户端&#xff08;1&#xff09; 根据数据传输方式的不同&#xff0c;基于网络协议的套接字一般分为 TCP 套接字和 UDP 套接字。因为 TCP 套接字是面向连接的&#xff0c;因此又被称为基于流&#xff08;stream&#xff09;的套接字。 TCP …

烧屏现象对OLED屏幕质量的影响:如何保持画面清晰度?

OLED&#xff08;Organic Light Emitting Diode&#xff09;屏幕作为一种高品质、高对比度和鲜艳色彩的显示技术&#xff0c;越来越受到消费者的青睐。然而&#xff0c;一些用户可能会担心OLED屏幕烧屏的问题。本文将探讨OLED屏幕烧屏的原因、如何预防烧屏以及如何进行正确的维…

一个完整的项目是怎么做性能测试?资深8年测试总结...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 突然有一天&#…

解决问题:解除HUE下载10万行的限制

解决问题&#xff1a;解除HUE下载10万行的限制 这个目录下的 vim /opt/cloudera/parcels/CDH/lib/hue/apps/beeswax/src/beeswax/conf.py可以调整数量 也可以更改为-1&#xff08;表示不限制&#xff09;

有测试媛的IT团队,产品质量更高

我们都知道&#xff0c;在绝大部分技术团队中&#xff0c;往往阳盛阴衰。而测试团队&#xff0c;可能情况要好一些&#xff0c;据部分机构调查来看男女比例在3:2左右。 根据过往经验来看&#xff0c;有测试媛的IT团队&#xff0c;往往软件质量能更好的得到保证&#xff08;强调…

【单片机】MSP430F5529单片机的Flash读写控制,MSP430 flash 读写

文章目录 内存模型程序 内存模型 https://qq742971636.blog.csdn.net/article/details/108892807 单片机的Flash里面的区域不是全都能写的&#xff1a;https://blog.csdn.net/u014470361/article/details/79297601 找一下手册看看MSP430F5529单片机哪些地址区域能写&#xf…

nginx常用命令以及安装

目录 前言&#xff1a; 安装&#xff1a; 常用命令&#xff1a; 前言&#xff1a; Nginx的设计理念是高性能、稳定性、开放性和易用性。它的并发能力优秀&#xff0c;可以处理数万个并发连接&#xff0c;并且占用较少的资源。此外&#xff0c;Nginx支持热部署&#xff0c;即…

如何将企业联系方式API接口应用于你的移动端APP?

在现代商业世界中&#xff0c;企业需要提供一种快速&#xff0c;高效的方式来让用户获取联系方式。因此&#xff0c;企业联系方式API接口应运而生&#xff0c;它是一种提供了企业联系方式的开放接口&#xff0c;在用户调用时&#xff0c;可以实现即时获取企业的联系方式信息。本…

python-计算两个矩阵的相似度。

余弦相似度 在pytorch中&#xff0c;有一个专门的函数用于计算相似度&#xff1a;torch.cosine_similarity() https://pytorch.org/docs/stable/nn.functional.html#cosine-similarity import torch import torch.nn.functional as F input1 torch.randn(100, 128) input2 t…

【2023,学点儿新Java-32】Java基础小练习:根据圆周率与半径求圆的面积 | 温度转换 | 计算矩形面积 | 判断奇偶数 | 年龄分类

前情提要&#xff1a; 【2023&#xff0c;学点儿新Java-31】测试&#xff1a;整型和浮点型变量的使用 | 附&#xff1a;计算机存储单位&#xff08;转换关系&#xff09;| 企业真题&#xff1a;为什么0.10.2不等于0.3【2023&#xff0c;学点儿新Java-30】变量的基本使用&#…

回归预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB实…

安全不“放假”,VR安全教育等你沉浸式体验

暑期开启&#xff0c;孩子们将迎来一段丰富且快乐的时光&#xff0c;暑假虽快乐&#xff0c;但是安全不能“放假”&#xff0c;许多地方开展形式多样的暑假安全宣传活动&#xff0c;想不想沉浸式体验下VR安全教育宣传呢&#xff1f;通过VR演示&#xff0c;身临其境的了解防溺水…

MySQL-概述-数据模型SQL简介

数据库&#xff1a;DataBase&#xff08;DB&#xff09;&#xff0c;是存储和管理数据的仓库数据库管理系统&#xff1a;DataBase Management System&#xff08;DBMS&#xff09;&#xff0c;操作和管理数据库的大型软件。SQL&#xff1a;Structured Query Language&#xff0…

「提高你的CSS技能」:15个重要的CSS属性详解

这篇文章介绍了15个重要的CSS属性&#xff0c;旨在提高读者的CSS知识和技能。文章以清晰的方式解释了每个属性的作用和用法&#xff0c;并提供了相应的示例代码。通过这篇文章&#xff0c;读者可以了解到一些有趣且实用的CSS属性。 1:in-range 和:out-of-range 伪类 CSS的:in…