14.Redis 主从复制
Redis 主从复制
- redis 主从复制
- 配置 redis 主从复制
- 启动 redis 主从复制
- 断开 redis 主从复制
- 主从复制构特点
- 主从复制的拓扑结构
- 一主一从
- ⼀主多从
- 树状主从
- 主从复制原理
- 数据同步
- psync 运行流程
- 全量复制流程
- 部分复制流程
- 实时复制
- 关于从节点何时晋升成主节点
- 总结
redis 主从复制
单点问题:如果某个服务器程序,只有一个节点(之高一个物理服务器,来部署这个服务器程序)。其中有以下两个缺陷:
- 可用性问题:如果这个机器挂了,意味着服务就中断了~~
- 性能/支持的并发量也是比较有限
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等需求。Redis 也是如此,它为我们提供了复制的功能,实现了相同数据的多个Redis副本。复制功能是⾼可⽤ Redis 的基础,哨兵和集群都是在复制的基础上构建的。
在分布式系统中,希望使用多个服务器来部署 redis,存在以下几种 redis 的部署方式~~
- 主从模式
- 主从 + 哨兵模式
- 集群模式
配置 redis 主从复制
配置 redis 主从复制,首先要启动多个 redis 服务器~~
正常来说,每个 redis 服务器程序,应该在一个单独的机器上,这样才算的上分布式,但目前手中只有一台云服务器,此时也可以在一个云服务器主机上运行多个 redis-server,但要保证多个 redis-server的端口是要不同的,默认是6379。
指定 redis-server 端口的方法有下面两种:
1.可以在启动程序的时候,通过命令行选项 ( --port )来指定端口号。
2.在配置文件中设置端口号。
下面我想弄1个主节点两个从节点,主节点就用之前默认的配置文件,子节点配置文件要在主配置文件上修改才能使用,首先先拷贝出2份配置文件 /etc/redis/redis.conf,修改这两份配置文件给从节点使用。
- 分别修改拷贝出来的两份配置文件中的端口号,让两个从节点与父结点的端口号,三个端口都不一样,不然会bind error。如果是不同主机这个不用设置。
- 在将下面这个选项设为 yes,这个选项的意思是让redis-server以后台方式运行。
- 给每个从节点从节点创建所属的工作目录,并且修改从节点的配置文件,设定成新的目录为工作目录。
将下面这行dir设置为你给从节点创建的工作目录即可。如果是不同主机可以不用设置。
启动 redis 主从复制
修改完后就可以启动从节点的 redis-server。
此时并没有构成主从复制,而是各自为政,要想成为主从复制,还需要进行配置。
要想配置成主从复制,就需要使用 slaveof。配置的方式有以下三种:
-
在配置⽂件中加⼊ slaveof {masterHost} {masterPort} 随 Redis 启动⽣效。永久生效。
-
在 redis-server 启动命令时加⼊ --slaveof {masterHost} {masterPort} ⽣效。
-
直接使⽤ redis 命令:slaveof {masterHost} {masterPort} ⽣效。
配置好后,启动三个redis-server。
例如上面动图所示:
在主节点中可以写入,此时从节点slave1 与 slave2能够读取到主节点的数据。但是在从节点 slave2 想修改key时会报错,不允许从节点写入,具体如下图所示:
其中可以通过 info replication 命令查看相关状态
- 主节点
- 子节点
断开 redis 主从复制
slaveof 命令不但可以建⽴主从复制,还可以在从节点执⾏ slaveof no one 来断开与主节点主从复制关系。
例如在 6380 节点上执⾏ slaveof no one 来断开,不过此处的修改是临时性的,要想永久就将配置文件中配置主从复制的语句删除即可。
从节点主动断开主从复制主要流程:
- 断开与主节点复制关系。
- 从节点晋升为主节点。 从节点断开主从复制后并不会抛弃原有数据,只是⽆法再获取主节点上的数据变化。
主从复制构特点
-
安全性
对于数据⽐较重要的节点,主节点会通过设置 requirepass 参数进⾏密码验证,这时所有的客户端访问必须使⽤ auth 命令实⾏校验。从节点与主节点的复制连接是通过⼀个特殊标识的客户端来完成,因此需要配置从节点的masterauth 参数与主节点密码保持⼀致,这样从节点才可以正确地连接到主节点并发起复制流程。 -
只读
默认情况下,从节点使⽤ slave-read-only=yes 配置为只读模式。由于复制只能从主节点到从节点,对于从节点的任何修改主节点都⽆法感知,修改从节点会造成主从数据不⼀致。所以建议线上不要修改从节点的只读模式。 -
传输延迟
主从节点⼀般部署在不同机器上,复制时的⽹络延迟就成为需要考虑的问题,Redis 为我们提供了 repl-disable-tcp-nodelay 参数⽤于控制是否关闭 TCP_NODELAY,默认为 no,即开启 tcpnodelay 功能,说明如下:-
关闭时,主节点产⽣的命令数据⽆论大小都会及时地发送给从节点,这样主从之间延迟会变小,但增加了⽹络带宽的消耗。适⽤于主从之间的⽹络环境良好的场景,如同机房部署。
-
当开启时,主节点会合并较小的 TCP 数据包从⽽节省带宽。默认发送时间间隔取决于 Linux 的内核,⼀般默认为 40 毫秒。这种配置节省了带宽但增⼤主从之间的延迟。适⽤于主从⽹络环境复杂的场景,如跨机房部署。
-
主从复制的拓扑结构
拓扑结构可以分为以下三种:⼀主⼀从、⼀主多从、树状主从结构。
一主一从
⼀主⼀从结构是最简单的复制拓扑结构,⽤于主节点出现宕机时从节点提供故障转移⽀持,如图所示。当应⽤写命令并发量较⾼且需要持久化时,可以只在从节点上开启 AOF,这样既可以保证数据安全性同时也避免了持久化对主节点的性能⼲扰。但需要注意的是,当主节点关闭持久化功能时,如果主节点宕机要避免⾃动重启操作。
这是因为一旦主节点宕机,如果重启,此时主节点没有生成 AOF 文件,就会丢失数据,进一步的主从同步,会把从节点的数据也删了。
针对此种问题的解决办法是当主节点宕机后,将从节点生成的AOF文件给到主节点,在启动。
⼀主多从
⼀主多从结构(星形结构)使得应⽤端可以利⽤多个从节点实现读写分离,如图所示。对于读比较重大的场景,可以把读命令负载均衡到不同的从节点上来分担压⼒。同时⼀些耗时的读命令可以指定⼀台专⻔的从节点执⾏,避免破坏整体的稳定性。对于写并发量较⾼的场景,多个从节点会导致主节点写命令的多次发送从⽽加重主节点的负载。
树状主从
树形主从结构(分层结构)使得从节点不但可以复制主节点数据,同时可以作为其他从节点的主节点继续向下层复制。通过引⼊复制中间层,可以有效降低住复制负载和需要传送给从节点的数据量,如图所示。数据写⼊节点 A 之后会同步给 B 和 C 节点,B 节点进⼀步把数据同步给 D 和 E 节 点。当主节点需要挂载等多个从节点时为了避免对主节点的性能⼲扰,可以采⽤这种拓扑结构。
缺陷:一旦数据进行修改了,同步的延迟是比刚才一主多从要长的。
主从复制原理
主从节点建⽴复制流程图
数据同步
psync 语法格式 psync replicationid offset
-
如果 replicationid 设置为 ?并且offset 设为 -1,此时就是在尝试进行全量复制
-
如果 replicationid offset 设为了具体的数值,则是尝试进行部分复制
Redis 使⽤ psync 命令完成主从数据同步,同步过程分为:全量复制和部分复制。
-
全量复制:⼀般⽤于初次复制场景,Redis 早期⽀持的复制功能只有全量复制,它会把主节点全部数据⼀次性发送给从节点,当数据量较⼤时,会对主从节点和⽹络造成很⼤的开销。
-
部分复制:⽤于处理在主从复制中因⽹络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果条件允许,主节点会补发数据给从节点。因为补发的数据远⼩于全量数据,可以有效避免全量复制的过⾼开销。
-
replicationid / replid (复制id) -> 通过 info replication
replid主要用于主从复制。主节点的复制id,主节点重写启动,或者从节点晋级成主节点,都会生成一个replicationid (同一个节点,每次重启,生成的 replicationid 也会变化)。从节点在和主节点建立连接之后,就会获取到主节点的 replicationid。
- runid-> 通过info server查看
runid 主要是用在支撑实现 redis 哨兵这个功能的。
- offset 偏移量
主节点和从节点上都会维护偏移量(整数)。
主节点的偏移量是根据主节点收到的修改操作命令,并计算每个修改命令都要占据几个字节,将每个命令的字节数进行累加。所以从节点的偏移量就描述了现在从节点这里数据同步到哪里了。
-
关于 master_replid 和 master_replid2
每个节点需要记录两组 master_replid。这个设定解决的问题场景是这样的:
⽐如当前有两个节点 A 和 B, A 为 master, B 为 slave。此时 B 就会记录 A 的 master_replid。如果⽹络出现抖动, B 以为 A 挂了, B ⾃⼰就会成为主节点. 于是 B 给⾃⼰分配了新的 master_replid。此时就会使⽤ master_replid2 来保存之前 A 的 master_replid。
- 后续如果⽹络恢复了, B 就可以根据 master_replid2 找回之前的主节点.
- 后续如果⽹络没有恢复, B 就按照新的 master_replid ⾃成⼀派, 继续处理后续的数据.
psync 运行流程
- 从节点发送 psync 命令给主节点,runId 和 offset 的默认值分别是 ? 和 -1。
- 主节点根据 psync 参数和⾃⾝数据情况决定响应结果:
-
如果回复 +FULLRESYNC runId offset,则从节点需要进⾏全量复制流程。
-
如果回复 +CONTINEU,从节点进⾏部分复制流程。
-
如果回复 -ERR,说明 Redis 主节点版本过低,不⽀持 psync 命令。从节点可以使⽤ sync 命令进⾏全量复制。
sync 会阻塞 redis server 处理其他请求,而psync则不会
-
全量复制流程
1)从节点发送 psync 命令给主节点进⾏数据同步,由于是第⼀次进⾏复制,从节点没有主节点的运⾏ ID 和复制偏移量,所以发送 psync ? -1。
2)主节点根据命令,解析出要进⾏全量复制,回复 +FULLRESYNC 响应。
3)从节点接收主节点的运⾏信息进⾏保存。
4)主节点执⾏ bgsave 进⾏ RDB ⽂件的持久化。
5)主节点发送 RDB ⽂件给从节点,从节点保存 RDB 数据到本地硬盘。
6)主节点将从⽣成 RDB 到接收完成期间执⾏的写命令,写⼊缓冲区中,等从节点保存完 RDB ⽂件后,主节点再将缓冲区内的数据补发给从节点,补发的数据仍然按照 rdb 的⼆进制格式追加写⼊到收到的 rdb ⽂件中. 保持主从⼀致性。
7)从节点清空⾃⾝原有旧数据。
8)从节点加载 RDB ⽂件得到与主节点⼀致的数据。
9)如果从节点加载 RDB 完成之后,并且开启了 AOF 持久化功能,它会进⾏ bgrewrite 操作,得到最近的 AOF ⽂件。
有磁盘复制 vs ⽆磁盘复制(diskless)
默认情况下, 进⾏全量复制需要主节点⽣成 RDB ⽂件到主节点的磁盘中, 再把磁盘上的 RDB ⽂件通过发送给从节点.
Redis 从 2.8.18 版本开始⽀持⽆磁盘复制. 主节点在执⾏ RDB ⽣成流程时, 不会⽣成 RDB ⽂件到磁盘中了, ⽽是直接把⽣成的 RDB 数据通过⽹络发送给从节点. 这样就节省了⼀系列的写和读硬盘的操作开销。同时无磁盘复制高了网络负担。
部分复制流程
1)当主从节点之间出现⽹络中断时,如果超过 repl-timeout 时间,主节点会认为从节点故障并终端复制连接。
2)主从连接中断期间主节点依然响应命令,但这些复制命令都因⽹络中断⽆法及时发送给从节点,所 以暂这些命令滞留在复制积压缓冲区中。
3)当节点⽹络恢复后,从节点再次连上主节点。
4)从节点前保存的 replicationId 和 复制偏移量作为 psync 的参数发送给主节点,请求进⾏部分 复制。
5)主节点接到sync 请求后,进⾏必要的验证。随后根据 offset 去复制积压缓冲区查找合适的数据,并响应 +CONTUE 给从节点。
6)主节点将需要从节点的数据发送给从节点,最终完成⼀致性。
实时复制
实时复制:从节点已经和主节点同步好了数据(即从节点这一时刻已经和主节点数据一致了),但是之后,树结点这边会收到新得修改数据的请求,此时主节点上的数据就会随之改变,同时也就需要能够同步给从节点。
从节点和主节点之间会建立TCP的长连接,然后主节点把自己收到的修改数据的请求,通过上述连接,发送给从节点,从节点再根据这些修改请求,修改内存中的数据。
关于从节点何时晋升成主节点
- 从节点主动和主节点断开连接
如使用命令来让从节点断开连接:slaveof no one
,这个时候从节点就能够晋升主节点。 - 当主节点挂了宕机了
这个时候从节点不会晋升成主节点,必须通过人工干预恢复主节点,即重启主节点或者是让从节点成为主节点。
总结
主从复制解决的问题:
- 单点问题.
- 单个 redis 节点, 可⽤性不⾼。
- 单个 redis 节点, 性能有限。
- 主从复制的特点:
- Redis 通过复制功能实现主节点的多个副本。
- 主节点⽤来写, 从节点⽤来读. 这样做可以降低主节点的访问压⼒。
- 复制⽀持多种拓扑结构,可以在适当的场景选择合适的拓扑结构。
- 复制分为全量复制, 部分复制和实时复制。
- 主从节点之间通过⼼跳机制保证主从节点通信正常和数据⼀致性。
- 主从复制配置的过程:
- 主节点配置不需要改动。
- 从节点在配置⽂件中加⼊ slaveof 主节点ip 主节点端口的形式即可。
- 主从复制的缺点:
- 从机多了, 复制数据的延时⾮常明显。
- 主机挂了, 从机不会升级成主机. 只能通过人工干预的方式恢复。
相关文章:
14.Redis 主从复制
Redis 主从复制 redis 主从复制配置 redis 主从复制启动 redis 主从复制断开 redis 主从复制主从复制构特点主从复制的拓扑结构一主一从⼀主多从树状主从 主从复制原理数据同步psync 运行流程全量复制流程部分复制流程实时复制 关于从节点何时晋升成主节点总结 redis 主从复制 …...
常见的图像格式介绍:RAW、RGB、YUV
常见的图像格式有RAW、RGB、YUV这三大类 1. RAW raw图像指的是sensor输出的原始数据,常见的有8位、10位、12位之分,分别表示一个像素点所占的字节数为8bit、10bit、12bit。 raw数据常见的有四种Bayer模式:GRBG、RGGB、BGGR(下图…...
极简极速-Bitset (bitmap)实现考勤打卡场景
文章目录 1. redis命令行操作bitmap2. RedisTemplate操作bitmap3. Java中的Bitset 1. redis命令行操作bitmap 2. RedisTemplate操作bitmap bitmap的常见业务场景主要有日活统计(类似的月考勤)、点赞、BloomFilter等,以用户mj考勤统计为例&am…...
word如何插入图片?3种常用的方法
word作为一款常用的办公软件,不仅可以处理文本内容,还能够轻松地插入图片以丰富文档内容。插入图片可以使文档更具吸引力、可读性和信息传达能力。本文将为您介绍word如何插入图片的3种方法,帮助您在文档中灵活、高效地添加图像元素。 word插…...
Python/C API - 模組,型別,Tuple,例外和引用計數
Python/C API - 模組,型別,Tuple,例外和引用計數 前言Python/C API - Common Object StructuresPyObjectPyMethodDefPyGetSetDef Python/C API - Module ObjectsPyModuleDefPyModule_CreatePyModule_AddObjectPyModule_AddObjectRef Initiali…...
人工智能轨道交通行业周刊-第59期(2023.9.4-9.10)
本期关键词:无锡智慧地铁、无人车站、钢轨打磨、混元大模型、开源大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界…...
ASP.NET Core 中的 MVC架构
MVC 架构 MVC架构把 App 按照逻辑分成三层: Controllers,接收 http request,配合 model,通过http response 返回 view,尽量不做别的事Models, 负责业务逻辑,App 的状态,以及数据处理Views&…...
C# PSO 粒子群优化算法 遗传算法 随机算法 求解复杂方程的最大、最小值
复杂方程可以自己定义,以下是看别人的题目,然后自己来做 以下是计算结果 private void GetMinResult(out double resultX1, out double min){double x1, result;Random random1 new Random(DateTime.Now.Millisecond* DateTime.Now.Second);min 99999…...
网络协议从入门到底层原理学习(三)—— 路由
网络协议从入门到底层原理学习(三)—— 路由 1、简介 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程 在不同网段之间转发数据,需要有路由器的支持 默认情况下,路由器…...
2023/9/6 -- C++/QT
一、输出流对象cout 1> 该对象是来自于ostream的类对象,功能上类似于printf函数 2> 该类对象本质上调用成员函数插入运算符重载函数 3> 输出数据时,无需使用格式控制符:%d、%c、%s。。。,直接输出即可 4> 换行使用…...
python爬虫,多线程与生产者消费者模式
使用队列完成生产者消费者模式使用类创建多线程提高爬虫速度 https://sc.chinaz.com/tupian/index.html https://sc.chinaz.com/tupian/index_2.html https://sc.chinaz.com/tupian/index_3.html from threading import Thread from queue import Queue import requests from b…...
WordPress 提示“此站点遇到了致命错误”的解决方法
WordPress 提示“此站点遇到了致命错误”的解决方法 WordPress 网站博客提示“此站点遇到了致命错误。”如何解决?今天老唐不幸遇到了这个问题,搜了一下解决方法,发现致命错误原因有很多,所以需要先打开 WordPress 的 WP_DEBUG 功…...
Vue3,Typescript中引用组件路径无法找到模块报错
是这么个事,我在vue3新创建的项目里,写了个组件叫headerIndex.vue,放到app.vue中import就会报错 路径肯定没写错,找到了解决方法,但是也没想明白为什么 解决方法如下 在vite-env.d.ts文件中加入 declare module &qu…...
科技成果鉴定之鉴定测试报告
鉴定测试 由于软件类科技成果的复杂、内部结构难以鉴别等特点,我们提供了软件类科技成果鉴定测试服务。软件类科技成果鉴定测试是依据其科研项目计划任务书或技术合同书,参照相应的国家标准对要申请鉴定的软件类科技成果进行的一种符合性测试࿰…...
NFTScan 浏览器正式版上线 2 周年!
NFTScan 成立于 2021 年 4 月份,总部位于香港。在 2021 年的 7 月份,NFTScan 团队对外发布了 NFTScan 浏览器公测版,并在同年的 9 月 4 号,对外发布了 NFTScan 浏览器正式版,同步启用了全球品牌域名:NFTSCA…...
为什么要使用Token
传统的session认证 我们知道,http协议是一种无状态的协议,这就意味着当用户向我们的应用提供了用户名和密码进行用户认证,那么在下一次登录的时候,用户还要再进行验证,因为根据http协议,浏览器并不知道是谁…...
前端面试的话术集锦第 8 篇:高频考点(JS性能优化 性能优化琐碎事)
这是记录前端面试的话术集锦第八篇博文——高频考点(JS性能优化 & 性能优化琐碎事),我会不断更新该博文。❗❗❗ 1. 从V8中看JS性能优化 注意:该知识点属于性能优化领域。 1.1 测试性能⼯具 Chrome已经提供了⼀个⼤⽽全的性能测试⼯具Audits。 点我们点击Audits后,可…...
【数据分析】Python:处理缺失值的常见方法
在数据分析和机器学习中,缺失值是一种常见的现象。在实际数据集中,某些变量的某些条目可能没有可用的值。处理缺失值是一个重要的数据预处理步骤。在本文中,我们将介绍如何在 Pandas 中处理缺失值。 我们将探讨以下内容: 什么是缺…...
“批量随机字母命名文件,轻松管理你的文件库“
你是否曾经遇到过文件命名混乱,难以管理的问题?为了解决这个问题,我们推出了一款全新的文件改名工具,它可以帮助你批量给文件名添加一个随机字母,让你的文件库更加有序、易于管理。 首先第一步,我们要进入…...
elasticsearch的数据聚合
聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且…...
【网络编程·数据链路层】MAC帧/以太网协议/ARP协议/RARP协议
需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。 目录 一、MAC帧 1、IP地址和MAC地址的区别 2、MAC帧协议 3、MTU对IP协议的…...
算法:移除数组中的val的所有元素---双指针[2]
文章来源: https://blog.csdn.net/weixin_45630258/article/details/132689237 欢迎各位大佬指点、三连 1、题目: 给你一个数组 nums和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用…...
Python小知识 - Python爬虫进阶:如何克服反爬虫技术
Python爬虫进阶:如何克服反爬虫技术 爬虫是一种按照一定的规则,自动抓取网页信息的程序。爬虫也叫网页蜘蛛、蚂蚁、小水滴,是一种基于特定算法的自动化程序,能够按照一定的规则自动的抓取网页中的信息。爬虫程序的主要作用就是从一…...
SAP中的新旧事务码
SAP中的新旧事务码 SAP随着新版本的发布,我们知道sap已经更新了很多的程序和TCODE。sap提供了很多新的TCODE来替换旧的TCODE,新TCODE有很多的新特性和新功能。在这个这种情况下,很多旧TCODE就会被废弃。我们如何查找这个替换呢? …...
day3_C++
day3_C 思维导图用C的类完成数据结构 栈的相关操作用C的类完成数据结构 循环队列的相关操作 思维导图 用C的类完成数据结构 栈的相关操作 stack.h #ifndef STACK_H #define STACK_H#include <iostream> #include <cstring>using namespace std;typedef int datat…...
力扣题解(73. 矩阵置零),带注释
题目描述 链接:点我 题解 //法一 使用hashset记录有0的横纵坐标即可 class Solution {public void setZeroes(int[][] matrix) {HashSet<Integer> row new HashSet<Integer>();HashSet<Integer> col new HashSet<Integer>();for(int i 0;i <…...
SpringMVC应用
文章目录 一、常用注解二、参数传递2.1 基础类型String2.2 复杂类型2.3 RequestParam2.4.路径传参 PathVariable2.4 Json数据传参 RequestBody2.5 RequestHeader 三、方法返回值3.1 void3.2 Stringmodel3.3 ModelAndView 一、常用注解 SpringMVC是一个基于Java的Web框架&#…...
百度输入法全面升级,打造首个基于大模型的输入法原生应用
基于文心一言,百度输入法宣布全面升级,打造行业首个“基于大模型的输入法原生应用”,从“输入工具”全面转型为“AI创作工具”。 近日,百度文心一言正式向公众开放。基于文心一言,百度输入法宣布全面升级,打…...
如何解决GitHub 访问不了?小白教程
GitHub 是全球最大的代码开源平台,小伙伴们平时都喜欢在那里找一些优质的开源项目来学习,以提升自己的编程技能。 但是很多小白初探GitHub 发现访问不了,不能访问 通过一下方法绕过这堵墙,成功下载 GitHub 上的项目。过程非常简单…...
龙芯指令集LoongArch——学习笔记(1)
1 龙芯架构 PDF下载链接: https://www.loongson.cn/download/index 1.1 龙芯架构概述 龙芯架构具有 RISC 指令架构的典型特征。 它的指令长度固定且编码格式规整, 绝大多数指令只有两个源操作数和一个目的操作数, 采用 load/store 架构&…...
做网站地图/营销咨询
String.prototype.anchor() anchor()方法用于创建一个<a>html描元素 const str 我是html内容.anchor(我是name属性值) console.log(str) // "<a name"我是name属性值">我是html内容</a>" String.prototype.bold() bold()方法用于创建&l…...
wordpress 统计代码添加/朝阳seo推广
平台 RK3288 Android 7.1 问题 在测试Thread.sleep过程中发现, 当App进入后台后, 服务中的Thread.sleep会有不同程度的精确度丢失. 测试sleep 2ms, 当置于后台时, 实际延迟达到 [10 - 40] ms 相关测试代码: |-- AndroidManifest.xml <applicationandroid:allowBackup&…...
网站banner图切换效果/软文撰写案例
前言 在了解了卷积网络之后,不难发现,基本上所有的卷积网络都是按照:"卷积层->池化层->卷积层->池化层…->全连接层->输出层"这样的形式进行堆叠排列的。这样的层级结构在Keras中使用Sequential模型来实现极为方便…...
wordpress创建模板/精准营销的概念
以下介绍安装raspbian 1.工具 电脑一台raspberry pi 3一部SD卡(C10)和读卡器网线和数据线2.方法/步骤 下载工具Win32DiskImager(系统烧录工具)PuTTY(ssh登录工具)vncviewer(客户端)I…...
商城网站建设用乐云seo系统/什么是竞价
众所周知SSD的读写速度远比hdd磁盘要快,理解ssd的工作原理使我们开发处高效储存方案。 linux 相关指令 fstrim --fstab --verbose ## 回收(discard)文件系统上对应磁盘未使用的块 blkdiscard /dev/nvme1n1 ## 回收并擦除(discard)整个SSD块设备 wipefs -a /dev/n…...
免费制作个人网站app/百度seo刷排名网址
Windows10 网络图标消失 连接不上网络 的解决方法参考文章: (1)Windows10 网络图标消失 连接不上网络 的解决方法 (2)https://www.cnblogs.com/jiaxinwei/p/11457228.html (3)https://www.co…...