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

docker 安装 redis 6.0.8 cluster 实战 (3主3从) 动态扩容

这里将上篇博客搭建的3主3从 扩容为 4主4从

1. 新建两个node节点

docker run -d \
--net host \
--privileged \
--name redis-node-7 \
--log-opt max-size=100m \
--log-opt max-file=3 \
-v /root/docker/redis-node-7/data:/data \
redis:6.0.8 \
--cluster-enabled yes \
--appendonly yes \
--port 16385 \
--requirepass admin123docker run -d \
--net host \
--privileged \
--name redis-node-8 \
--log-opt max-size=100m \
--log-opt max-file=3 \
-v /root/docker/redis-node-8/data:/data \
redis:6.0.8 \
--cluster-enabled yes \
--appendonly yes \
--port 16386 \
--requirepass admin123

2. 将新的 master node 加入集群

docker exec -it redis-node-1 bash

redis-cli --pass admin123 --cluster add-node 你的ip:16385 你的ip:16379

root@OrionEcsServer:/data# redis-cli --pass admin123 --cluster add-node 172.19.6.128:16385 172.19.6.128:16379
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.19.6.128:16385 to cluster 172.19.6.128:16379
>>> Performing Cluster Check (using node 172.19.6.128:16379)
M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[0-5460] (5461 slots) master1 additional replica(s)
S: 001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383slots: (0 slots) slavereplicates ff3488c654a8006784faa35b8a181a567ec2436a
S: e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384slots: (0 slots) slavereplicates 30dd349f6405017a5063d25b9e1d61f39db4c3dc
M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[10923-16383] (5461 slots) master1 additional replica(s)
M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[5461-10922] (5462 slots) master1 additional replica(s)
S: b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382slots: (0 slots) slavereplicates 7de702973b5d649d206d4ba48c772155f6088657
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.19.6.128:16385 to make it join the cluster.
[OK] New node added correctly.

3. 检查集群状态

redis-cli --pass admin123 --cluster check 你的ip:16379

执行后记录新master的ID 后面重新分配slot会用: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 

root@OrionEcsServer:/data# redis-cli --pass admin123 --cluster check 172.19.6.128:16379
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
172.19.6.128:16379 (ff3488c6...) -> 0 keys | 5461 slots | 1 slaves.
172.19.6.128:16385 (3f081a67...) -> 0 keys | 0 slots | 0 slaves.
172.19.6.128:16381 (7de70297...) -> 0 keys | 5461 slots | 1 slaves.
172.19.6.128:16380 (30dd349f...) -> 0 keys | 5462 slots | 1 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 172.19.6.128:16379)
M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[0-5460] (5461 slots) master1 additional replica(s)
M: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385slots: (0 slots) master
S: 001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383slots: (0 slots) slavereplicates ff3488c654a8006784faa35b8a181a567ec2436a
S: e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384slots: (0 slots) slavereplicates 30dd349f6405017a5063d25b9e1d61f39db4c3dc
M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[10923-16383] (5461 slots) master1 additional replica(s)
M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[5461-10922] (5462 slots) master1 additional replica(s)
S: b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382slots: (0 slots) slavereplicates 7de702973b5d649d206d4ba48c772155f6088657
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

4. 重新分配 slot


redis-cli --pass admin123 --cluster reshard 你的:16379

第一次输入: 新分配的槽数 4096 (16384/4=4096)

第二次输入: 槽的接收者ID 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 上面记录ID的 (这里不要有空格)

第三次输入: 槽分配的数量 all 从所有节点均匀分配

第四次输入: 确认操作 yes 

执行完成后耐心等待槽的重新分配

root@OrionEcsServer:/data# redis-cli --pass admin123 --cluster reshard 172.19.6.128:16379
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing Cluster Check (using node 172.19.6.128:16379)
M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[0-5460] (5461 slots) master1 additional replica(s)
M: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385slots: (0 slots) master
S: 001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383slots: (0 slots) slavereplicates ff3488c654a8006784faa35b8a181a567ec2436a
S: e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384slots: (0 slots) slavereplicates 30dd349f6405017a5063d25b9e1d61f39db4c3dc
M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[10923-16383] (5461 slots) master1 additional replica(s)
M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[5461-10922] (5462 slots) master1 additional replica(s)
S: b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382slots: (0 slots) slavereplicates 7de702973b5d649d206d4ba48c772155f6088657
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 4096
What is the receiving node ID? 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6
Please enter all the source node IDs.Type 'all' to use all the nodes as source nodes for the hash slots.Type 'done' once you entered all the source nodes IDs.
Source node #1: allReady to move 4096 slots.Source nodes:M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[0-5460] (5461 slots) master1 additional replica(s)M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[10923-16383] (5461 slots) master1 additional replica(s)M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[5461-10922] (5462 slots) master1 additional replica(s)Destination node:M: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385slots: (0 slots) masterResharding plan:Moving slot 5461 from 30dd349f6405017a5063d25b9e1d61f39db4c3dc...Moving slot 12287 from 7de702973b5d649d206d4ba48c772155f6088657
Do you want to proceed with the proposed reshard plan (yes/no)? yes
Moving slot 5461 from 172.19.6.128:16380 to 172.19.6.128:16385: 
.....
Moving slot 5693 from 172.19.6.128:16380 to 172.19.6.128:16385: root@OrionEcsServer:/data# 

5. 重新检查机器状态

redis-cli --pass admin123 --cluster check 你的ip:16379

这里可以发现 16385 已经重新分配了4096个slot

root@OrionEcsServer:/data# redis-cli --pass admin123 --cluster check 172.19.6.128:16379
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
172.19.6.128:16379 (ff3488c6...) -> 0 keys | 4096 slots | 1 slaves.
172.19.6.128:16385 (3f081a67...) -> 0 keys | 4096 slots | 0 slaves.
172.19.6.128:16381 (7de70297...) -> 0 keys | 4096 slots | 1 slaves.
172.19.6.128:16380 (30dd349f...) -> 0 keys | 4096 slots | 1 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 172.19.6.128:16379)
M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[1365-5460] (4096 slots) master1 additional replica(s)
M: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
S: 001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383slots: (0 slots) slavereplicates ff3488c654a8006784faa35b8a181a567ec2436a
S: e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384slots: (0 slots) slavereplicates 30dd349f6405017a5063d25b9e1d61f39db4c3dc
M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[12288-16383] (4096 slots) master1 additional replica(s)
M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[6827-10922] (4096 slots) master1 additional replica(s)
S: b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382slots: (0 slots) slavereplicates 7de702973b5d649d206d4ba48c772155f6088657
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

6. 给新的 master node 分配 slave
redis-cli --pass admin123 --cluster add-node 你的ip:16386 你的ip:16385 --cluster-slave --cluster-master-id 刚刚记录的masterId

root@OrionEcsServer:/data# redis-cli --pass admin123 --cluster --cluster add-node 172.19.6.128:16386 172.19.6.128:16385 --cluster-slave --cluster-master-id 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6
Using a password with '-a' or '-u' option on the command line interface may not be safe..6.128:16385 --cluster-slave --cluster-master-id 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6>>> Adding node 172.19.6.128:16386 to cluster 172.19.6.128:16385
>>> Performing Cluster Check (using node 172.19.6.128:16385)
M: 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
S: 001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383slots: (0 slots) slavereplicates ff3488c654a8006784faa35b8a181a567ec2436a
S: e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384slots: (0 slots) slavereplicates 30dd349f6405017a5063d25b9e1d61f39db4c3dc
M: ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379slots:[1365-5460] (4096 slots) master1 additional replica(s)
S: b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382slots: (0 slots) slavereplicates 7de702973b5d649d206d4ba48c772155f6088657
M: 7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381slots:[12288-16383] (4096 slots) master1 additional replica(s)
M: 30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380slots:[6827-10922] (4096 slots) master1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.19.6.128:16386 to make it join the cluster.
Waiting for the cluster to join>>> Configure node as replica of 172.19.6.128:16385.
[OK] New node added correctly.

7. 查看集群状态

redis-cli -p 16379 -c --pass admin123
cluster info
cluster nodes  

这里可以发现 16386 已经挂载到 16395 下面了, 变成了4主4从

root@OrionEcsServer:/data# redis-cli -p 16379 -c --pass admin123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:16379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:8
cluster_size:4
cluster_current_epoch:7
cluster_my_epoch:1
cluster_stats_messages_ping_sent:2016
cluster_stats_messages_pong_sent:2026
cluster_stats_messages_update_sent:3
cluster_stats_messages_sent:4045
cluster_stats_messages_ping_received:2020
cluster_stats_messages_pong_received:2016
cluster_stats_messages_meet_received:6
cluster_stats_messages_received:4042
127.0.0.1:16379> cluster nodes
ff3488c654a8006784faa35b8a181a567ec2436a 172.19.6.128:16379@26379 myself,master - 0 1670161348000 1 connected 1365-5460
a2bd918b2e2072ab238bc1937710ea7ed05a7c03 172.19.6.128:16386@26386 slave 3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 0 1670161350000 7 connected
3f081a67bbc0a1e7f9a0a0a27704cc5ee513fee6 172.19.6.128:16385@26385 master - 0 1670161350310 7 connected 0-1364 5461-6826 10923-12287
001837d619d76cda8e0e537321032363970f5bc9 172.19.6.128:16383@26383 slave ff3488c654a8006784faa35b8a181a567ec2436a 0 1670161345000 1 connected
e02423adc0d998e84a7152e099a96402ea01c3e8 172.19.6.128:16384@26384 slave 30dd349f6405017a5063d25b9e1d61f39db4c3dc 0 1670161349000 2 connected
7de702973b5d649d206d4ba48c772155f6088657 172.19.6.128:16381@26381 master - 0 1670161351000 3 connected 12288-16383
30dd349f6405017a5063d25b9e1d61f39db4c3dc 172.19.6.128:16380@26380 master - 0 1670161349309 2 connected 6827-10922
b76af89d5b835c36201479c9284f2a4ad4b8f820 172.19.6.128:16382@26382 slave 7de702973b5d649d206d4ba48c772155f6088657 0 1670161351312 3 connected
127.0.0.1:16379> 

8. 测试

set a 1

set b 2

set c 3

相关文章:

实景三维技术在应急管理与防灾减灾领域的应用

随着科技的快速发展,实景三维技术以其独特的优势,在应急管理与防灾减灾领域逐渐展现出其巨大的应用价值。实景三维技术通过高精度的三维建模,将现实世界中的物体、场景以数字化的形式进行呈现,为应急管理与防灾减灾提供了全新的视角和手段。一、实景三维技术的原理与特点实…...

YASKAWA安川机器人DX100轴板维修故障细节分享

随着科技的日新月异,机器人在工业生产中扮演的角色愈发重要。而作为机器人的“大脑”——电路板,其稳定运作对整个系统的可靠性至关重要。面对可能出现的YASKAWA安川机器人DX100轴板故障,如何快速、准确地诊断问题并予以解决呢?下…...

IDEA设置点击文件打开新标签页

...

Spring MVC拦截器实现,记录访问请求日志

Spring MVC拦截器实现,记录访问请求日志 1.创建拦截器类并实现HandlerInterceptor拦截器 package com.jxdinfo.hussar.sys.interceptor;import com.jxdinfo.hussar.base.entity.UserInfo; import com.jxdinfo.hussar.common.util.UserUtils; import com.jxdinfo.hussar.core.u…...

python包:torchvision

torch 是一个偏向于底层的包, 做一些较为基础 矩阵运算对于不同的样本 比如图像, 声音 ,文字, 之类,有更加针对性的包比如,针对图片 他的矩阵处理专用包就是:torchvision这个就需要 单独安装,这个包的体积不是很大,我们可以直接尝试 安装pip install torchvision…...

在Django中,多数据操作,你可以编写测试来查询另一个数据库服务器中的数据,并将结果导入当前Django项目的数据库表中

在Django中,你可以编写测试来查询另一个数据库服务器中的数据,并将结果导入当前Django项目的数据库表中。下面是一个简单的示例: 假设你有一个Django应用程序,名为myapp,并且你希望从另一个数据库服务器中的某个表中获取数据,并将其导入myapp应用程序的某个模型中。 首先…...

docker 安装 redis 6.0.8 cluster 实战 (3主3从) 动态扩容

这里将上篇博客搭建的3主3从 扩容为 4主4从 1. 新建两个node节点 docker run -d \ --net host \ --privileged \ --name redis-node-7 \ --log-opt max-size100m \ --log-opt max-file3 \ -v /root/docker/redis-node-7/data:/data \ redis:6.0.8 \ --cluster-enabled yes \ -…...

20221204

You are so much more than how you look. 你比你的外表更有魅力 Never give up until the fight is over. 永远不要放弃,要一直战斗到最后一秒。 whats done cannot be undone 覆水难收 If I was going somewhere, I was running。 如果我要去哪儿&#xff…...

CN_数据链路层流量控制@可靠的传输机制@ARP协议

文章目录流量控制技术(协议)停止-等待流量控制滑动窗口流量控制发送窗口接收窗口基本原理可靠的传输机制确认机制ACK超时重传机制RTOARQ处理差错自动重传请求ARQ协议🎈ARQ具体协议单帧ARQ协议停止-等待协议SW-ARQ例连续ARQ协议后退N帧协议(GBN)GBN多帧滑动窗口累计确…...

程序人生 | 与足球共舞的火柴人(致敬格拉利什,赋予足球更深的意义)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…...

安装ubuntu20.04, CUDA11.4, cnDNN, tensorflow, pytorch

ubuntu22.04默认python为3.11 ubuntu20.04默认python为3.8 第一步,分区安装系统 efi引导区, 逻辑分区,512M root: 主分区,512M swap: 逻辑分区,64G home:逻辑分区,320G /:逻辑分区, 130G, CUDA是安装…...

shell脚本受限执行

shell 中运行的脚本或脚本的个代码断会禁用一些正常 shell 中可以执行的命令.这是限制脚本用户的权限和最小化运行脚本导致的破坏的安全措施.受限的内容包括:使用 cd 命令更改工作目录. 更改环境变量$PATH, $SHELL, $BASH_ENV,或$ENV 的值. 读或更改 shell 环境选项…...

HTTP 速查手册

一、通用身份验证 # 服务端返回401,并告知验证类型为Basic GET 401 Unauthorized WWW-Authenticate: Basic realm"description"# 浏览器输入验证信息后,请求头中携带验证信息 Authorization: Basic xxxxxxxxxx二、Cookie # 服务端返回set-co…...

【计算机视觉】 摄像机标定

摄像机标定 齐次坐标 齐次坐标,将欧氏空间的无穷远点,与投影空间中有实际意义的消失点,建立起映射关系。 把齐次坐标转化为笛卡尔坐标的方法:是前面n-1个坐标分量分别除以最后一个分量即可 一些解释和性质: 比较好的…...

【Redis】Redis安装步骤和特性以及支持的10种数据类型(Redis专栏启动)

📫作者简介:小明java问道之路,专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…...

DHTMLX Diagram JavaScript/HTML5 Pro Library:5.0

Diagram — JavaScript/HTML5 Diagram Library Ω578867473 破解版DHTMLX Diagram comprises a set of interactive HTML5 UI components such as organization charts, flowcharts, decision trees, block diagrams, mind maps, etc. Consisting of nodes and connectors, di…...

GPS卫星位置解算

本文介绍了基于C语言的GPS卫星位置解算原理与程序设计。针对每个原理、公式、代码设计进行了详细讲解,希望能够给测绘学子们带来帮助。 参考书籍: 李征航 黄劲松:GPS测量与数据处理(第三版) 目录 基础原理 1&#xf…...

大数据:Sqoop 简介与安装

一、Sqoop 简介 Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS、Hive、HBase 等分布式文件存储系统中; 导出数据&am…...

[附源码]计算机毕业设计文曦家教预约系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

HK1 BOX刷入 Armbian系统作为服务器

HK1 BOX刷入 Armbian系统作为服务器 1 安装Armbian到EMMC 硬件 HK1 BOX s905 x3 固件版本选择 Armbian_23.02.0_Aml_s905x3_bullseye_5.15.80_server_2022.12.01用usb启动,tf/sd有的设备不行,有干扰,有可能从TF卡无法启动系统。 用usb启…...

CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)

一、动态多目标优化问题简介 现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(dynamic multi-objective optimization p…...

【蓝桥杯选拔赛真题31】python三位数组合个数 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python三位数组合个数 一、题目要求 1、编程实现 2、输入输出...

SpringBoot项目--如何不停服更新应用?

原文网址:SpringBoot项目--如何不停服更新应用?_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Java后端项目如何不停机更新服务。 在生产环境中,一般都会每个服务部署多个实例。只要多于1个实例,就可以不停服更新应用。 不停服…...

MVVM与Vue响应式原理

Vue的响应式实现原理 MVVM M:模型 》data中的数据 V:视图 》模板 VM:视图模型 》Vue实例对象 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0EWNM16D-1670161519474)(C:\Users\lucas\Desktop\学习\图片\mode…...

vue和react的生命周期

vue和react的生命周期 一、Vue的生命周期二、React的生命周期2.1.类组件2.2.函数式组件一、Vue的生命周期 初始化阶段(组件创建、数据初始化)、挂载、更新、销毁 父子组件生命周期执行顺序 初次加载组件时:父beforeCreate – 父created – 父beforeMount – 子beforeCreate …...

浏览器高度兼容性

浏览器的卷去高度 1.标准模式 document.documentElement.scrollTop 2.非标准模式 document.body.scrollTop 浏览器高度兼容性 1.标准模式下 浏览器的实际高度: document.body.clientHeight 浏览器的可视高度:document.documentElement.clientHeight 2.非…...

关于天干地支及其计算

以天干地支计算日期是我国悠良的传统文化,最近在看如何计算人的生辰八字,写了个程序,但是只能算年的干支,月、日的干支计算方法太复杂了,望之只能却步,还是乖乖去查万年历比较好。这里记下关于干支的一些东…...

数据结构和算法之如何建立图

小白BG.1 邻接矩阵表示的图结点的结构 typedef struct GNode *PtrToGNode;//PtrToGNode是指向GNode的一个指针 struct GNode{ int Nv;//顶点数 int Ne;//边数 WeightType G[MaxVertexNum][MaxVertexNum]; DataType Data[MaxVertexNum];//存顶点的数据 }; typedef PtrToGNode MG…...

计算机毕业设计Java大众采编本微资讯发布平台(源码+系统+mysql数据库+lw文档)

计算机毕业设计Java大众采编本微资讯发布平台(源码系统mysql数据库lw文档) 计算机毕业设计Java大众采编本微资讯发布平台(源码系统mysql数据库lw文档)本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse…...

web前端-javascript-立即执行函数(说明、例子)

立即执行函数 /* (function(){alert("我是一个匿名函数~~~"); })(); */(function (a, b) {console.log("a " a);console.log("b " b); })(123, 456);1. 说明 函数定义完,立即被调用,这种函数叫做立即执行函数立即执…...

【计算机视觉】图像形成与颜色

图像形成与颜色 光照及阴影 辐射度学 颜色 颜色信息反映了入射光的能量分布与波长,可见光的波长在400nm到760nm之间。 RGB RGB分别代表三个基色(R-红色、G-绿色、B-蓝色),如(0,0,0)表示黑色、(255, 255, 255)表示白色。其中2…...

Musical Christmas Lights——一个圣诞树灯光✨随音乐节奏改变的前端开源项目

文章目录前言视频介绍项目截图项目地址项目源码以上就是本篇文章的全部内容,将你编写好的项目分享给你的朋友们或者那个TA吧!制作不易,求个三连!❤️ 💬 ⭐️前言 今天博主在刷短视频时😐,朋友推…...

[附源码]Python计算机毕业设计SSM进出口食品安全信息管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

电平触发的触发器

普通的SR锁存器没有任何抗干扰能力 我们要加控制信号,来抵抗干扰 比如说我们不把信号直接加在门上,我们可以再加一级门电路,让这个输出和输入不在同一个门上,我们希望加入一个控制信号,来控制电路工作的时刻 对电路结…...

php后端+JQuery+Ajax简单表单提交

通过ajax,如果从后端直接想前端返回数组,那前端收到的是一个‘Array’的字符串。所以,我比较习惯的是用json对象的格式。由后端通过json_encode()函数,把数组封装成对象,传递到前端;前端也以json的格式接收。这里用提交表单来举例说明。 页面显示如下: JQueryAjax.…...

论文投稿指南——中文核心期刊推荐(计算机技术2)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。下面&#xff0c;简单介绍下什么是中文核心期刊要目总览&#xff1a; 《中文核心期刊要目总…...

集合java

java集合 集合、数组都是对多个数据进行存储操作的结构&#xff0c;简称Java容器 此时的存储&#xff0c;主要是指内存层面的存储&#xff0c;不涉及持久化的存储&#xff08;txt,jpg,avi&#xff09; Java集合可分为Collection 和 Map 两种体系 1. Collection接口&#xff1…...

spring boot 应用mybatis

Mybatis入门: Mybatis入门_做测试的喵酱的博客-CSDN博客 目录 一、spring boot 应用mybatis 核心 二、举例&#xff1a; 2.1 背景 2.2 项目结构&#xff1a; 2.3 依赖包 pom 2.4 项目配置文件application.yml 2.5 实例层entity 2.6 mybatis的mapper层 2.7 spring boot…...

Java项目:ssm图书馆管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 功能介绍 基于ssm的图书馆管理系统.主要功能包括&#xff1a;图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。 用户分为…...

详解设计模式:命令模式

命令模式&#xff08;Command Pattern&#xff09;也被称为行动模式&#xff08;Action Pattern&#xff09;、事物模式&#xff08;Transaction Pattern&#xff09;&#xff0c;是在 GoF 23 种设计模式中定义了的行为型模式。 命令模式 是一种数据驱动的设计模式。请求以命令…...

家庭用户无线上网案例(AC通过三层口对AP进行管理)

组网需求 为一个家庭用户使用的网络架构。该家庭消费用户的上网流量大多是低速流量&#xff0c;例如浏览网页、玩游戏、看视频等。家庭成员使用的无线终端主要为手机、PC、电视机等。终端接入的数量正常情况下在10个以内&#xff0c;偶尔有家庭聚会等特殊情况&#xff0c;终端接…...

Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源

在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。 这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Co…...

用Hopper修改代理软件端口

背景 用代理软件可以访问google&#xff0c;但是端口经常不固定&#xff0c;从缺省1080变成了随机。 前几天其实已经用Hopper 3.0看了一次&#xff0c;但是好像不支持go&#xff0c;所以没反编译成功&#xff0c;这次换了4.0&#xff0c;支持了go。 Hopper与逆向 逆向的目的…...

PKI等介绍

PKI 1、概述 KPI名称&#xff1a;Public Key Infrastructure 公钥基础设施 KPI作用&#xff1a;通过加密技术和数字签名保证信息的安全 KPI组成&#xff1a;公钥加密技术、数字证书、CA、RA 2、信息安全三要素 机密型、完整型、身份验证、操作的不可否认性 3、哪些领域…...

《模拟电子技术》半导体原理部分笔记

《模拟电子技术》笔记绪论第一章 常用半导体器件第二章 基本放大电路绪论 有的人把三极管的出现作为电子技术工业革命的开始标志学习架构&#xff1a;半导体器件&#xff08;二极管、三极管、场效应晶体管&#xff09;、基于上述管的放大电路、集成运算放大器、放大电路的频率…...

Python与MySQL交互

第四章 Python与MySQL交互 1、客户端库概述及安装 PyMySQL介绍 PyMySQL是在 Python3.x 版本中用于连接 MySQL 服务器的一个客户端库。 PyMySQL安装&#xff1a; pip install pymysql执行过程如下图&#xff1a; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来…...

list的模拟实现(万字解读+由浅入深)

先申明一下本篇总体介绍过程是按照逐步深入去写的&#xff0c;所以可能有些同样类型不在一块&#xff01; 前言&#xff1a; 写这篇博客的时候&#xff0c;我是边思考边写它&#xff01;自己其中感觉自己对于list的理解更加的深入&#xff0c;其中提出的很多问题让我明白了lis…...

Java项目:SSM CRM人事管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 CRM人事管理系统&#xff0c;主要功能有&#xff1a; 用户管理&#xff1a;用户查询、添加用户、编辑、删除&#xff1b; 职位管理&#xff1a…...

Qt+opencv 鼠标画线实现几何图形识别并动态创建

前言 使用Qt OpenCV实现&#xff0c;通过鼠标画线绘制几何图形&#xff0c;然后通过opencv进行图形轮廓识别&#xff0c;返回图形顶点&#xff0c;然后创建对应的几何图形添加到场景中。绘制使用QGraphics体系完成。 看效果图&#xff1a; 本文demo在这里 点击下载 环境: …...

HTML5期末大作业——HTML+CSS+JavaScript平遥古城旅游景点介绍(6页)

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…...

HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…...

Reg注册表读写

在Windows 95及其后继版本中&#xff0c;采用了一种叫做“注册表”的数据库来统一进行管理&#xff0c;将各种信息资源集中起来并存储各种配置信息。按照这一原则&#xff0c;Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表&#xff0c;用来管理…...

HTML入门零基础教程(五)

嗨&#xff0c;大家好&#xff0c;我是异星球的小怪同志 一个想法有点乱七八糟的小怪 如果觉得对你有帮助&#xff0c;请支持一波。 希望未来可以一起学习交流。 目录 一、图像标签 1.图像标签 2.图标标签的其它属性 3.图像标签属性注意点&#xff1a; 一、图像标签 1.…...

java通过lock实现同步锁

这里我们是一个卖票的演示代码 其实 同步锁 远不止一个synchronized 它本身有一个 加上锁 和释放锁的过程 为了 让我们更好的理解这个过程 JDK5之后 为我们提供了一个单独的锁工具 lock lock是一个接口 他提供了 synchronized 方法 和 更广泛的语句操作 lock方法 获得锁 unl…...

Java多线程同步工具类:Semaphore原理剖析

Java多线程同步工具类&#xff1a;Semaphore原理剖析 文章目录Java多线程同步工具类&#xff1a;Semaphore原理剖析Semaphore原理实战案例前驱知识准备&#xff1a;AbstractQueuedSynchronizer队列同步器 [Java多线程之&#xff1a;队列同步器AbstractQueuedSynchronizer原理剖…...

C++之面向对象

目录 对象与类 类的语法&#xff1a; C中class与struct的区别&#xff1a; 通过类实例化对象的方式 具体案例 类作用域与分文件编写 创建circle.h头文件 创建源文件circle.cpp 创建all.cpp来作为程序的入口 封装 封装的意义 访问权限符 成员属性私有化 优点 具体…...

网络编程——TCP的特性之自动重传/流量控制/拥塞控制,一篇说清楚

文章目录 1. ARQ自动重传协议1.1 停止等待ARQ1.2 连续ARQ1.3 总结 2. TCP的流量控制3. TCP的拥塞控制3.1 慢开始算法3.2 拥塞避免算法3.3 快重传算法3.4 快恢复算法 1. ARQ自动重传协议 自动重传请求&#xff08;Automatic Repeat-reQuest&#xff09;&#xff0c;通过使用确认…...

【SpringBoot】springboot的启动初步理解

springboot的启动初步理解 我们会发现开发一个Spring Boot&#xff0c;都会有一个注解SpringBootApplication和一个类定义SpringApplication.run&#xff0c;点击源码可以查看到如下代码&#xff1a; Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Document…...

JVM 性能调优命令(jps,jinfo,jstat,jstack,jmap)

常用命令&#xff1a;jps、jinfo、jstat、jstack、jmap jps jps查看java进程及相关信息 jps -l 输出jar包路径&#xff0c;类全名 jps -m 输出main参数 jps -v 输出JVM参数jps命令示例 显示本机的Java虚拟机进程&#xff1a; # jps 15729 jar 92153 Jps 90267 Jstat显示主类…...

Jackson 2.x 系列【25】Spring Boot 集成之起步依赖、自动配置

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 本系列Spring Boot 版本 3.2.4 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. 起步依赖3. 自动配置3.1 JacksonPrope…...

九章云极DataCanvas AIDC OS智算操作系统正式发布,开启AI智算新纪元

4月18日&#xff0c;2024九章云极DataCanvas智算操作系统新品发布会于北京隆重召开&#xff0c;全新产品DATACANVAS AIDC OS智算操作系统&#xff08;以下简称AIDC OS&#xff09;正式官宣。AIDC OS以卓越的AI技术实力和AI基础软件为根基&#xff0c;以重新定义和突破传统为创新…...

电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型

文章目录 电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型前言理论推导仿真验证总结参考文献 电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型 前言 总结下电机控制中的有功磁链Active Flux(AF)模型。 纯小白&#xff0c;如有不当&#xff0c;轻…...