Linux学习-Redis主从和哨兵

主从复制

在这里插入图片描述

一主一从结构

# 配置host61为主服务器
[root@host61 ~]# yum -y install redis 
[root@host61 ~]# vim /etc/redis.conf
bind 192.168.88.61  #设置服务使用的Ip地址
port 6379 #设置服务使用的端口号 使用默认端口即可
[root@host61 ~]# systemctl  start redis
[root@host61 ~]# redis-cli  -h 192.168.88.61 -p 6379
192.168.88.61:6379> info replication  #查看复制信息
# Replication
role:master  #默认就是主服务器
connected_slaves:0  #没有从服务器
master_replid:0aebff37df915061ddf157cc33d8742f14e8773f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# 配置host62为host61的从服务器
[root@host62 ~]# yum -y install redis  #安装软件
[root@host62 ~]# vim /etc/redis.conf   #修改配置文件
bind 192.162.88.62 #设置服务的ip地址
port 6379 #设置服务的端口号 默认即可
:wq
[root@host62 ~]# systemctl  start redis  #启动服务
[root@host62 ~]# redis-cli  -h 192.162.88.62 -p 6379 #连接服务
192.162.88.62.:6379> replicaof 192.162.88.61 6379  #指定主服务器ip和端口
OK
192.162.88.62.:6379> config rewrite  #永久保存配置
OK
192.162.88.62.:6379> exit #退出服务
[root@host62 ~]# tail -1 /etc/redis.conf  #查看文件末尾
replicaof 192.162.88.61 6379
[root@host62 ~]# redis-cli  -h 192.162.88.62 -p 6379  #连接服务
192.162.88.62.:6379> info replication  #查看复制信息
# Replication
role:slave  #角色
master_host:192.162.88.61  #主服务器ip地址 
master_port:6379  #主服务器端口号
master_link_status:up  #与主服务器连接状态 (up 正常  down 连接失败)
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:14
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:14
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:14
# 在主服务器host61查看复制信息
[root@host61 ~]# redis-cli  -h 192.168.88.61 -p 6379
192.168.88.61:6379> info replication
# Replication
role:master #角色
connected_slaves:1  #一个从
slave0:ip=192.168.88.62,port=6379,state=online,offset=322,lag=0 #从服务器信息
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:322
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:322
192.168.88.61:6379> mset x 1 y 2 z 3 #存储数据
OK
192.168.88.61:6379> keys *  #查看变量
1) "z"
2) "y"
3) "x"
# 在从服务器查看是否同步数据
[root@host62 ~]# redis-cli  -h 192.168.88.62 -p 6379
192.168.88.62.:6379> keys *
1) "y"
2) "x"
3) "z"

一主多从结构

[root@host63 ~]# yum -y install redis  #安装软件
[root@host63 ~]# vim /etc/redis.conf   #修改配置文件
bind 192.168.88.63
port 6379
[root@host63 ~]# systemctl  start redis  #启动服务
[root@host63 ~]# redis-cli  -h 192.168.88.63 -p 6379 #连接服务
192.168.88.63:6379> replicaof 192.168.88.61 6379 #指定主服务器ip和端口
OK
192.168.88.63:6379> config rewrite  #永久保存配置
OK
192.168.88.63:6379> exit
[root@host63 ~]# tail -1 /etc/redis.conf   #保存到文件末尾
replicaof 192.168.88.61 6379
[root@host63 ~]# redis-cli  -h 192.168.88.63 -p 6379  #连接服务
192.168.88.63:6379> info replication  #查看复制信息
# Replication
role:slave #角色
master_host:192.168.88.61 #主服务器IP
master_port:6379  #主服务器端口
master_link_status:up #与主服务器连接状态 up 正常连接状态 
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_repl_offset:1171
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1171
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1158
repl_backlog_histlen:14
192.168.88.63:6379> keys *  #查看是否同步数据
1) "x"
2) "z"
3) "y"
# 在host61 查看到有2台从服务器
[root@host61 ~]# redis-cli -h 192.168.88.61 -p 6379
192.168.88.61:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.88.62,port=6379,state=online,offset=3027,lag=0
slave1:ip=192.168.88.63,port=6379,state=online,offset=3013,lag=1
master_replid:209b3b7ce20c708ab1b6b95a5d1becb2454b0941
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3027
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3027

主从从结构

# 将host63恢复为独立的redis服务器,然后配置为host62的从服务器
[root@host63 ~]# redis-cli  -h 192.168.88.63 -p 6379
192.168.88.63:6379> replicaof no one  #恢复为独立的数据库服务器
OK
192.168.88.63:6379> replicaof 192.168.88.62 6379  #指定主服务器为62
OK
192.168.88.63:6379> config rewrite  #保存配置
OK
192.168.88.63:6379> exit #断开连接
[root@host63 ~]# tail -1 /etc/redis.conf  #查看是否保存
replicaof 192.168.88.62 6379
[root@host63 ~]# redis-cli  -h 192.168.88.63 -p 6379  #连接服务
192.168.88.63:6379> info replication  #查看复制信息
# Replication
role:slave #角色
master_host:192.168.88.62 #主服务器IP
master_port:6379 #主服务端口
master_link_status:up #与主服务器连接状态
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:4545
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:4545
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:4420
repl_backlog_histlen:126
# 在host62查看复制信息
[root@host62 ~]# redis-cli  -h 192.168.88.62 -p 6379
192.168.88.62.:6379> info replication  #查看复制信息
# Replication
role:slave       #本身是从服务器
master_host:192.168.88.61 #主服务器ip
master_port:6379 #主服务器redis服务端口
master_link_status:up #与主服务器连接状态
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:4769
slave_priority:100
slave_read_only:1
connected_slaves:1  #本身有一个从服务器
slave0:ip=192.168.88.63,port=6379,state=online,offset=4769,lag=0 #从服务器信息
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:4769
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:4769# 配置带验证的主从复制
- 配置主机host61,redis服务连接密码为123456
- 主机host62设置连接host61的redis服务密码
# 给host61主机的Redis服务设置连接密码,如果从服务器不指定连接密码无法同步数据。
# 配置主机host61,redis服务连接密码为123456
[root@host61 ~]# redis-cli  -h 192.168.88.61 -p 6379
192.168.88.61:6379> config get requirepass  #查看密码,默认服务没有密码
1) "requirepass"
2) ""
192.168.88.61:6379> config set requirepass 123456  #设置密码
OK
192.168.88.61:6379> auth 123456  #输入密码
OK
192.168.88.61:6379> config rewrite #保存配置
OK
192.168.88.61:6379> exit  #退出
[root@host61 ~]# tail -1 /etc/redis.conf   #保存到文件的末尾
requirepass "123456"
[root@host61 ~]# redis-cli  -h 192.168.88.61 -p 6379  #连接服务
192.168.88.61:6379> auth 123456 #输入密码
OK
192.168.88.61:6379> info replication #查看复制信息
# Replication
role:master
connected_slaves:0   # 没有从服务器了 因为从没有输入连接密码连接不上主服务器
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:5763
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:5763
# 主机host62设置连接host61的redis服务密码
[root@host62 ~]# redis-cli  -h 192.168.88.62 -p 6379  连接服务
192.168.88.62.:6379> info replication #查看复制信息
# Replication
role:slave
master_host:192.168.88.61
master_port:6379
master_link_status:down  #没设置密码 与master主机是断开状态
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:1
master_link_down_since_seconds:274
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:7803
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:7803
192.168.88.62:6379> config set masterauth 123456  #指定主服务器密码
OK
192.168.88.62:6379> config rewrite #保存配置
OK
192.168.88.62:6379> info replication #查看复制信息
# Replication
role:slave
master_host:192.168.88.61
master_port:6379
master_link_status:up  #设置连接密码后  状态为up 
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_repl_offset:5847
slave_priority:100
slave_read_only:1
connected_slaves:1
slave0:ip=192.168.88.63,port=6379,state=online,offset=5847,lag=1
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:5847
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:5764
repl_backlog_histlen:84

哨兵服务

在这里插入图片描述

- 配置主机Host67为master服务器
- 配置主机host68为Host67的slave服务器
- 配置主机host69运行哨兵服务
---
说明:
1)可以使用一主一从或 一主多从 或 主从从 + 哨兵服务 做服务的高可用 和 数据自动备份
2)如果主从结构中的redis服务设置连接密码的话必须全每台数据库都要设置密码且密码要一样,要么全都不设置密码。
3)如果Redis服务有密码宕机的服务器启动服务后,要人为指定主服务器的连接密码。
---
# 配置主机Host67为master服务器
[root@host67 ~]# yum -y install redis  安装redis服务软件
[root@host67 ~]# vim /etc/redis.conf  修改配置文件
bind 192.168.88.67 #设置redis服务使用IP地址
port 6379 #设置redis服务使用端口
[root@host67 ~]# systemctl  start redis   启动服务
[root@host67 ~]# redis-cli  -h 192.168.88.67 -p 6379 连接服务
192.168.88.67:6379> info replication  #查看角色
# Replication
role:master #默认是master角色
connected_slaves:0 #没有从服务器
master_replid:0aebff37df915061ddf157cc33d8742f14e8773f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# 配置主机host68为Host67的slave服务器
[root@host68 ~]# yum -y install redis  #安装软件
[root@host68 ~]# vim /etc/redis.conf   #修改配置文件
bind 192.168.88.68 #设置服务使用Ip地址
port 6379 #设置服务监听端口 默认即可
[root@host68 ~]# systemctl  start redis  #启动服务
[root@host68 ~]# redis-cli  -h 192.168.88.68 -p 6379 #连接服务
192.168.88.68:6379> replicaof 192.168.88.67 6379 #指定主服务器ip和端口
OK
192.168.88.68:6379> config rewrite  #永久保存配置
OK
192.168.88.68:6379> exit #断开
[root@host68 ~]# tail -1 /etc/redis.conf   #保存到文件末尾
replicaof 192.168.88.67 6379
[root@host68 ~]# redis-cli  -h 192.168.88.68 -p 6379  #连接服务
192.168.88.68:6379> info replication  #查看复制信息
# Replication
role:slave  #角色 从服务器
master_host:192.168.88.67  #主服务器Ip
master_port:6379 #主服务端口
master_link_status:up  #与主连接状态 
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:14
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:476ae25abdb72c60a4ada0dcc73910a7455ecac1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:14
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:14
# 配置主机host69运行哨兵服务
]# yum -y install  redis #安装软件
]# vim /etc/redis-sentinel.conf   #创建并编辑主配置文件
bind 192.168.88.69  #指定哨兵服务使用ip地址
port 26379  #指定哨兵服务监听端口
daemonize yes  #以守护进程方式运行服务
sentinel monitor mymaster 192.168.88.67 6379 1   #监视master服务器Host67
[root@host69 ~]# systemctl  start redis-sentinel #启动哨兵服务
[root@host69 ~]# netstat  -utnlp  | grep 26379  #查看端口号
tcp    0   0 192.168.88.69:26379     0.0.0.0:*  LISTEN      1651/redis-sentinel
# 查看日志获取监视信息
[root@host69 ~]# tail -f /var/log/redis/sentinel.log   
1651:X 03 Jun 2023 21:42:49.523 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1651:X 03 Jun 2023 21:42:49.523 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=1651, just started
1651:X 03 Jun 2023 21:42:49.523 # Configuration loaded
1651:X 03 Jun 2023 21:42:49.523 * supervised by systemd, will signal readiness
1651:X 03 Jun 2023 21:42:49.525 * Running mode=sentinel, port=26379.
1651:X 03 Jun 2023 21:42:49.525 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1651:X 03 Jun 2023 21:42:49.530 # Sentinel ID is f9475074a53444ee81765646c105e04e73ac9ec8
1651:X 03 Jun 2023 21:42:49.530 # +monitor master mymaster 192.168.88.67 6379 quorum 1
1651:X 03 Jun 2023 21:42:49.533 * +slave slave 192.168.88.68:6379 192.168.88.68 6379 @ mymaster 192.168.88.67 6379
# 测试配置
# 停止master主机的redis 服务,原slave角色会升级为主,哨兵服务会自动监视新的master服务,宕机的master 主机恢复后自动配置为当前主的从服务器。停止master主机的redis 服务
[root@host67 ~]# systemctl  stop redis 
# 原slave升为主
[root@host68 ~]# redis-cli  -h 192.168.88.68 -p 6379
192.168.88.68:6379> info replication
# Replication
role:master  #角色
connected_slaves:0  #没从服务器
master_replid:e4d9399cdf19c724b032859e77316019735d391e
master_replid2:bd1b8d193de170bedd8b40780ee3fb45f9590a5b
master_repl_offset:35343
second_repl_offset:32642
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:183
repl_backlog_histlen:35161
# 哨兵服务会自动监视新的master服务
[root@host69 ~]# tail -f /var/log/redis/sentinel.log  查看日志文件 
1651:X 03 Jun 2023 21:50:23.603 # +failover-state-select-slave master mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:23.694 # +selected-slave slave 192.168.88.68:6379 192.168.88.68 6379 @ mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:23.695 * +failover-state-send-slaveof-noone slave 192.168.88.68:6379 192.168.88.68 6379 @ mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:23.796 * +failover-state-wait-promotion slave 192.168.88.68:6379 192.168.88.68 6379 @ mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:24.452 # +promoted-slave slave 192.168.88.68:6379 192.168.88.68 6379 @ mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:24.452 # +failover-state-reconf-slaves master mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:24.502 # +failover-end master mymaster 192.168.88.67 6379
1651:X 03 Jun 2023 21:50:24.502 # +switch-master mymaster 192.168.88.67 6379 192.168.88.68 6379
1651:X 03 Jun 2023 21:50:24.502 * +slave slave 192.168.88.67:6379 192.168.88.67 6379 @ mymaster 192.168.88.68 6379
1651:X 03 Jun 2023 21:50:54.586 # +sdown slave 192.168.88.67:6379 192.168.88.67 6379 @ mymaster 192.168.88.68 6379
# 宕机的master 主机恢复后自动配置为当前主的从服务器
[root@host67 ~]# systemctl  start redis  启动服务
[root@host67 ~]# redis-cli  -h 192.168.88.67 -p 6379 连接服务
192.168.88.67:6379> info replication    #查看角色
# Replication
role:slave  #从服务器
master_host:192.168.88.68  #主服务器ip
master_port:6379 #主服务器端口
master_link_status:up  #连通状态
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:54542
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:e4d9399cdf19c724b032859e77316019735d391e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:54542
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:54379
repl_backlog_histlen:164

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

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

相关文章

Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

当我们搭建好DZ论坛网站后,为了美化网站,想把标题栏的Powered by Discuz!去除或是修改,应该如何操作呢?今天飞飞和你分享,在操作前务必把网站源码和数据库都备份到本地或是网盘。 Discuz的版权信息存在两处…

一个Qt鼠标透传场景与事件过滤器的用法

一个Qt鼠标透传场景与事件过滤器的用法 最近工作中遇到一个开发场景,将一个QWidget控件(称为控件A)放入QScrollArea,该控件A重写了QWidget::wheelEvent,根据鼠标滚轮事件缩放内部的绘制视图。当控件过大时&#xff0c…

Python py文件打包成 exe文件

文章目录 安装 pyinstaller 模块pyinstaller 的使用pyinstaller 常用参数多文件打包 安装 pyinstaller 模块 pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple在 pyinstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts 目录下会增加…

Python类练习

文章目录 题目要求步骤 题目要求 1)创建一个 Kid 类,包含姓名,性别,年龄属性和 play 方法 2) 创建一个 Stu 类,继承 Kid 类,同时包含成绩属性,获取成绩方法,努力学习方法,play方法&…

Android13适配-Google官方照片视频选择器

官方照片选择器 图 1. 照片选择器提供了一个直观的界面,便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索,并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示,照片选择器为用户提供了一种安全的内置授权…

Nginx配置SSL证书

1 Ubuntu 20.04 上安装 Nginx Nginx 发音 “engine x” ,是一个开源软件,高性能 HTTP 和反向代理服务器,用来在互联网上处理一些大型网站。它可以被用作独立网站服务器,负载均衡,内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。…

数据结构--插入排序

目录 插入排序 算法实现 算法效率分析 插入排序的优化-折半插入排序 最终的结果:(方式) 优化-折半查找的代码实现 ​回顾 插入排序 算法实现 算法效率分析 空间复杂度和问题规模无关 插入排序的优化-折半插入排序 之前的元素有序&am…

高端知识竞赛中用到的软件和硬件有哪些

现在单位搞知识竞赛,已不满足于用PPT放题,找几个简单的抢答器、计分牌弄一下了,而是对现场效果和科技感要求更高了。大屏要分主屏侧屏,显示内容要求丰富炫酷;选手和评委也要用到平板等设备;计分要大气些&am…

汽油辛烷值的测定 马达法

声明 本文是学习GB-T 503-2016 汽油辛烷值的测定 马达法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 8 试剂和标准物 8.1 气缸夹套冷却液 若实验室所处海拔的水沸点为100℃1.5℃(212 F3F), 应使用水作为气缸夹套冷却液。当 实验室海拔高度不确定…

S7-1200PLC和LED电子看板通信(TCP/IP)

S7-200SMART PLC和LED电子看板通信应用,请查看下面文章链接: SMART 200 PLC UDP通讯应用LED看板_RXXW_Dor的博客-CSDN博客开放式用户通信 (OUC) 库:数据解析:https://rxxw-control.blog.csdn.net/article/details/121424897这篇博客我们主要介绍S7-1200PLC和LED电子看板通…

java学习--day10 (继承)

文章目录 day9作业今天的内容1.继承1.1.生活中的继承1.2.Java中继承1.3关于父类子类的内存分析1.4重写【重点】1.5重载【overload】 day9作业 1.构造代码块和构造方法的区别 {代码块 } public 类名 () {} 都是实例化一个对象的时候执行的 只不过构造代码…

谷粒商城篇章6 ---- P193-P210 ---- 异步线程池商品详情【分布式高级篇三】

目录 1. 异步 1.1 初始化线程的 4 种方式 1.1.1 继承 Thread 1.1.2 实现 Runnable 接口 1.1.3 实现 Callable 接口 FutureTask 1.1.4 线程池 1.1.5 以上 4 种方式总结: 1.2 线程池详解 1.2.1 初始化线程池的 2 种方式 1.2.1.1 使用 Executors 创建 1.2…

已解决 Rust Error: cannot borrow `x` as mutable more than once at a time

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

深入理解算法的时间复杂度

文章目录 时间复杂度的定义时间复杂度的分类时间复杂度分析常见数据结构和算法的时间复杂度常见数据结构常见算法 常见排序算法说明冒泡排序(Bubble Sort)快速排序(Quick Sort)归并排序(Merge Sort)堆排序(Heap Sort) 时间复杂度的定义 时间复杂度就是一种用来描述算法在输入规…

数据集成:数据挖掘的准备工作之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

Markdown(MD)——Typora Markdown安装教程(2023九月亲测可用!!!)

目录 一、简介 1.Markdown简介 2.Markdown特点 3.Typora简介 二、安装教程 1.下载安装包 2.解压到文件夹 3.安装 4.破解 ​编辑5.激活 三、Markdown常用语法 1.常用语法 2.用于编辑LaTex公式 四、其他编辑器 一、简介 1.Markdown简介 Markdown 是一种轻量级标记语…

【深度学习实验】前馈神经网络(二):使用PyTorch实现不同激活函数(logistic、tanh、relu、leaky_relu)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 定义激活函数 logistic(z) tanh(z) relu(z) leaky_relu(z, gamma0.1) 2. 定义输入、权重、偏置 3. 计算净活性值 4. 绘制激活函数的图像 5. 应用激活函数并…

lv4 嵌入式开发-9 静态库与动态库的使用

目录 1 库的概念 2 库的知识 3 静态库特点 4 静态库 4.1静态库创建 4.2 编译生成目标文件 4.3 创建静态库 hello 4.4 查看库中符号信息 4.5 链接静态库 5 共享库特点 6 共享库 6.1 共享库创建 6.2 编译生成目标文件 6.3 创建共享库 common 6.4为共享库文件创建…

Docker 应用部署

Docker 应用部署 一、部署MySQL 搜索MySQL镜像 拉取MySQL镜像 docker pull mysql:8.0创建容器,设置端口映射,目录映射 # 在root/home/mysql目录下创建MySQL目录用于存储MySQL数据信息 mkdir /root/home/mysql cd /root/home/mysql创建并运行 # 330…

面试官:请说说flex布局_番茄出品.md

面试官:请说说flex布局_番茄出品.md start 依然记得当初学习 flex 布局时,用 flex 布局:画麻将。一筒到九筒,应有尽有。但是光和面试官说,我用 flex 布局画过麻将,并没有什么用。面试官问你一个语法&…