2024年最新Redis内存数据库主从复制、哨兵模式、集群部署等详细教程(更新中)

Centos 安装 Redis

检查安装 GCC 环境

[root@VM-4-17-centos ~]# gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

防火墙操作

Firewall(防火墙)是一种网络安全设备或系统,其主要功能是根据预定的安全策略监视、过滤和控制传入和传出网络的流量,以保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为。

关闭防火墙 systemctl stop firewalld.service
查看防火墙状态 firewall-cmd --state
卸载防火墙 remove firewall

使用 yum 安装 GCC 环境

GCC 是由 GNU(GNU’s Not Unix)组织开发的编程语言编译器集合,最初代表 “GNU C Compiler”,主要支持C语言。随着发展,GCC扩展了对其他编程语言的支持,包括 C++、Fortran、Java、Ada、Pascal、Go 和 D 语言等,并重新定义为 “GNU Compiler Collection”。

yum install gcc

创建 redis 安装目录

mkdir -p /opt/software/redis
cd /opt/software/redis

使用 wget 下载 redis 软件包

wget 是一个在 Unix 和 Linux 系统中广泛使用的命令行工具,用于从网络上自动下载文件。它支持 HTTP、HTTPS 和 FTP 协议,并具备丰富的下载选项和高级功能,如断点续传、限速下载、递归下载等。

限制下载速度 wget --limit-rate=100k http://example.com/path/to/largefile.zip
断点续传 wget -c http://example.com/path/to/largefile.zip
下载并重命名文件 wget -O newname.zip http://example.com/path/to/file.zip

下载 redis 软件包

在这里插入图片描述

wget https://download.redis.io/redis-stable.tar.gz

解压安装 redis 软件包

tar -zxf redis-stable.tar.gz
cd redis-state
make install

make install 命令在 Linux 系统中是一个非常重要的命令,它通常用于将编译好的程序或库文件安装到系统的相应目录中。通过 ./configure、make 和 make install 三个步骤,用户可以自定义编译选项、编译源码,并将编译好的程序安装到系统中。

make install 命令会将编译好的可执行文件、库文件等复制到系统的标准目录下,如 /usr/local/bin(可执行文件)、/usr/local/lib(库文件)等。在某些情况下,make install 还会在适当的位置创建指向实际文件的符号链接,并在 /usr/local/etc 等目录下创建配置文件,以便用户进行配置。

Centos 配置启动 Redis

查看 redis 目录

[root@VM-4-17-centos redis-stable]# ll
total 296
-rw-rw-r--  1 lighthouse lighthouse   9854 Jul 29 13:31 00-RELEASENOTES
-rw-rw-r--  1 lighthouse lighthouse     51 Jul 29 13:31 BUGS
-rw-rw-r--  1 lighthouse lighthouse   5023 Jul 29 13:31 CODE_OF_CONDUCT.md
-rw-rw-r--  1 lighthouse lighthouse   7178 Jul 29 13:31 CONTRIBUTING.md
drwxrwxr-x  8 lighthouse lighthouse   4096 Sep 21 20:10 deps
-rw-r--r--  1 root       root          105 Sep 21 20:57 dump.rdb
-rw-rw-r--  1 lighthouse lighthouse     11 Jul 29 13:31 INSTALL
-rw-rw-r--  1 lighthouse lighthouse  37493 Jul 29 13:31 LICENSE.txt
-rw-rw-r--  1 lighthouse lighthouse    151 Jul 29 13:31 Makefile
-rw-rw-r--  1 lighthouse lighthouse   6888 Jul 29 13:31 MANIFESTO
-rw-rw-r--  1 lighthouse lighthouse  23845 Jul 29 13:31 README.md
-rw-rw-r--  1 lighthouse lighthouse 108982 Sep 21 20:55 redis.conf
-rw-rw-r--  1 lighthouse lighthouse   1805 Jul 29 13:31 REDISCONTRIBUTIONS.txt
-rwxrwxr-x  1 lighthouse lighthouse    279 Jul 29 13:31 runtest
-rwxrwxr-x  1 lighthouse lighthouse    283 Jul 29 13:31 runtest-cluster
-rwxrwxr-x  1 lighthouse lighthouse   1804 Jul 29 13:31 runtest-moduleapi
-rwxrwxr-x  1 lighthouse lighthouse    285 Jul 29 13:31 runtest-sentinel
-rw-rw-r--  1 lighthouse lighthouse   1480 Jul 29 13:31 SECURITY.md
-rw-rw-r--  1 lighthouse lighthouse  14700 Jul 29 13:31 sentinel.conf
drwxrwxr-x  4 lighthouse lighthouse  16384 Sep 21 20:13 src
drwxrwxr-x 11 lighthouse lighthouse   4096 Jul 29 13:31 tests
-rw-rw-r--  1 lighthouse lighthouse   3628 Jul 29 13:31 TLS.md
drwxrwxr-x  9 lighthouse lighthouse   4096 Jul 29 13:31 utils

启动 redis 服务器

在这里插入图片描述

redis.conf 配置文件

在这里插入图片描述
配置 redis (redis.conf 配置文件)通过 :i 进行编辑,通过 :wq 保存退出。

vim redis.conf 

常见配置信息

bind * -::* 										修改bind项,* -::* 支持远程连接
daemonize yes										开启守护进程,后台运行。
logfile /opt/software/redis/redis-stable/redis.log  指定日志文件目录
dir /opt/software/redis								指定工作目录。
requirepass huanxingshouwan							给默认用户设置密码,主要是使用 redis-cli 连接redis-server 时,需要通过密码连接数据库。
protected-mode no									允许远程连接。如果不设置密码必须讲此设置关闭。

通过 redis.conf 配置文件启动 redis 数据库(daemonize yes)

[root@VM-4-17-centos redis-stable]# redis-server redis.conf

连接测试

[root@VM-4-17-centos redis-stable]# redis-cli
127.0.0.1:6379> set name hello
OK
127.0.0.1:6379> get name
"hello"

关闭 redis 数据库服务

[root@VM-4-17-centos redis-stable]# redis-cli
127.0.0.1:6379> shutdown
not connected> 

查看 redis 运行日志

需要配置 logfile /opt/software/redis/redis-stable/redis.log 指定日志文件目录

在这里插入图片描述

配置 redis 工作目录(dump.rdb)

dir /opt/software/redis 指定工作目录

在这里插入图片描述

[root@VM-4-17-centos redis-stable]# cat redis.log
1863691:C 21 Sep 2024 21:09:36.282 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1863691:C 21 Sep 2024 21:09:36.282 * Redis version=7.4.0, bits=64, commit=00000000, modified=1, pid=1863691, just started
1863691:C 21 Sep 2024 21:09:36.282 * Configuration loaded
1863691:M 21 Sep 2024 21:09:36.283 * monotonic clock: POSIX clock_gettime
1863691:M 21 Sep 2024 21:09:36.284 * Running mode=standalone, port=6379.
1863691:M 21 Sep 2024 21:09:36.284 * Server initialized
1863691:M 21 Sep 2024 21:09:36.284 * Loading RDB produced by version 7.4.0
1863691:M 21 Sep 2024 21:09:36.284 * RDB age 6 seconds
1863691:M 21 Sep 2024 21:09:36.284 * RDB memory usage when created 0.99 Mb
1863691:M 21 Sep 2024 21:09:36.284 * Done loading RDB, keys loaded: 1, keys expired: 0.
1863691:M 21 Sep 2024 21:09:36.284 * DB loaded from disk: 0.000 seconds
1863691:M 21 Sep 2024 21:09:36.284 * Ready to accept connections tcp

yum 软件包管理器

yum(全称 Yellowdog Updater, Modified)是一个在 Fedora、RedHat、CentOS 等基于 RPM 包管理系统的 Linux 发行版中广泛使用的 Shell 前端软件包管理器。简单来说 yum 是一个能够自动处理 RPM 软件包依赖关系,并从指定的服务器自动下载 RPM 包进行安装的软件包管理器。

yum 常用命令功能描述

功能命令描述
安装软件包yum install [软件包名]安装指定的软件包和其所有依赖项到系统中。
更新软件包yum update [软件包名]升级指定软件包到最新版本(如果不指定软件包名,则升级所有可更新的软件包)。
更新软件包yum upgrade [软件包名]类似于 update,但主要用于跨版本升级软件包(在某些发行版中可能与 update 命令有细微差别)。
删除软件包yum remove [软件包名]从系统中卸载指定的软件包。
删除软件包yum erase [软件包名]remove 命令相同,用于删除系统中的指定软件包。
查询软件包信息yum info [软件包名]显示指定软件包的详细信息,包括版本、描述、依赖关系等。
搜索软件包yum search [关键词]在可用的软件仓库中搜索包含指定关键词的软件包。
列出已安装的软件包yum list installed列出系统上当前已安装的所有软件包列表。
清理缓存yum clean [all / packages / headers / oldheaders]清理 yum 的缓存目录。all 表示清理所有缓存,packages 清理软件包缓存,headers 清理头文件缓存,oldheaders 清理旧的头文件缓存。

Redis 远程连接

redis-cli 连接远程 redis 服务器

要使用 redis-cli 连接到另一台服务器上的 Redis 实例,你需要指定远程服务器的 IP 地址、端口(如果使用了非默认端口),以及(可选地)密码(如果 Redis 实例配置了 requirepass)。

redis-cli -h <remote_server_ip> -p <port> -a <remote_server_requirepass>
root@hcss-ecs-c6d0:~# redis-cli -h xxx.xxx.xxx.xxx -p 6379
xxx.xxx.xxx.xxx:6379> set name hello
(error) NOAUTH Authentication required.

常见问题

root@hcss-ecs-c6d0:~# redis-cli -h xxx.xxx.xxx.xxx -p 6379 -a edgehacker
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
xxx.xxx.xxx.xxx:6379> set name hello
OK

当你看到警告 Warning: Using a password with ‘-a’ or ‘-u’ option on the command line interface may not be safe. 时,这意味着在命令行中直接使用 -a 选项来传递密码可能不是一个安全的做法,因为这样做可能会使密码在进程列表、shell 历史或其他地方以明文形式可见,从而增加被未授权访问的风险。

root@hcss-ecs-c6d0:~# redis-cli -h xxx.xxx.xxx.xxx -p 6379 -a huanxingshouwan
xxx.xxx.xxx.xxx:6379> AUTH huanxingshouwan

Redis 主从复制部署

主从复制是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(Master),后者称为从节点(Slave)。数据的复制是单向的,只能由主节点到从节点。默认情况下,每台 Redis 服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
在这里插入图片描述

主从复制作用

数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复。实际上是一种服务的冗余。

负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写 Redis 数据时应用连接主节点,读 Redis 数据时应用连接从节点),分担服务器负载。尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大提高 Redis 服务器的并发量。

高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是 Redis 高可用的基础。

配置主从复制部署

主节点 redis 数据库配置不需要做任何改变,从节点 redis 数据库都需要修改配置加上主节点信息,配置完成后,可以再主库检查从节点信息。

redis.conf 添加主节点信息

replicaof xxx.xxx.xxx.xxx 6379

配置密码 auth 主从复制部署

如果主 Redis 服务器配置了密码(也称为requirepass),则在从服务器上设置 slaveof 时,还需要配置 masterauth 指令来指定连接主服务器时使用的密码。这样,从服务器在尝试与主服务器建立连接并进行数据同步时,就会使用指定的密码进行身份验证。

# 指定主服务器的IP地址和端口号  
replicaof xxx.xxx.xxx.xxx 6379  
  
# 指定连接主服务器时使用的密码  
masterauth huanxingshouwan

熟悉使用宝塔面板也可以通过 bt 面板快速设置

在这里插入图片描述
运行启动 redis-server 服务

运行 从节点 redis 服务器 info replication

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:xxx.xxx.xxx.xxx
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_read_repl_offset:1
slave_repl_offset:1
master_link_down_since_seconds:-1
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:6f509bbb151a1560121b4ee760ed2eef0116b5e7
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

这个错误信息 (error) READONLY You can’t write against a read only replica. 表示你正在尝试向一个设置为只读模式的 Redis 从服务器(replica)写入数据。在 Redis 的主从复制架构中,从服务器默认是只读的,以防止数据不一致的情况发生。

127.0.0.1:6379> set name hello
(error) READONLY You can't write against a read only replica.

运行 主节点 redis 服务器 info replication

常见问题

127.0.0.1:6379> info repulication
NOAUTH Authentication required.

解决方案

[root@VM-4-17-centos redis-stable]# redis-cli
127.0.0.1:6379> AUTH huanxingshouwan (requirepass 密码)
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=xxx.xxx.xxx.xxx,port=6379,state=wait_bgsave,offset=0,lag=0
master_failover_state:no-failover
master_replid:93e8811d9d2b24a9b81cd9e423021144c333a61b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:462
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:462

slaveof 和 replicaof 常见版本问题

slaveof 和 replicaof 在 Redis 数据库都用于配置主从复制关系。在 Redis 的早期版本中(Redis 5.0 之前),通常使用 slaveof 命令或配置选项来设置从服务器(slave)与主服务器(master)之间的复制关系。从 Redis 5.0 版本开始,slaveof 命令和配置选项被替换为 replicaof。这一变化旨在更准确地描述从服务器(replica)的角色,并避免和 “slave”(奴隶)这一可能带有负面含义的词汇相关联。

主从复制缺点

复制延时,信号衰减。由于所有的写操作都是现在主节点 master 上操作,然后同步更新到从节点 slave 上,所以从主节点 master 同步到从节点 slave 机器上有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,从节点 slave 机器数量的增加也会使这个问题更加严重。如果 master 挂了,默认情况下,不会在 slave 节点中自动重选一个主节点 master,并且每次都要人工干预。

Redis 哨兵模式部署

哨兵模式原理

Redis哨兵模式是通过在独立的哨兵节点上运行特定的哨兵进程来实现的。这些哨兵进程监控主从节点的状态,并在发现故障时自动完成故障发现和转移,并通知应用方,实现高可用性。

在这里插入图片描述

sentinel.conf 配置。

protected-mode no											关闭保护模式
daemonize yes												指定 sentinel 后台启动
logfile "/opt/software/redis/redis-stable/sentinel.log"		指定日志存放路径
dir /opt/software/redis										指定数据库存放路径
sentinel monitor mymaster xxx.xxx.xxx.xxx 6379 2			指定该哨兵节点监控主节点信息(配置2,就是2个哨兵发现问题就完成主节点转移,若配置1,就是1个哨兵发现问题就完成主节点转移)
sentinel down-after-milliseconds mymaster 30000				判定服务器 down 掉的时间周期,默认30000毫秒			
sentinel failover-timeout mymaster 180000					故障节点的最大超时时间为180000毫秒

启动哨兵服务

sentinel-server sentinel.conf

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cisco Secure Firewall Threat Defense Virtual 7.6.0 发布下载,新增功能概览

Cisco Secure Firewall Threat Defense Virtual 7.6.0 - 思科下一代防火墙虚拟设备 (FTDv) Firepower Threat Defense (FTD) Software for ESXi & KVM 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-firepower-7/&#xff0c;查看最新版。原创作品&#xff0c…

信息安全管理工程师(工信部教育与考试中心)

在信息技术迅猛发展的时代&#xff0c;信息安全已经成为企业乃至国家安全不可或缺的一环。 工信部高级信息安全管理工程师认证&#xff0c;作为软考中的一项顶尖资格认证&#xff0c;对提升信息安全管理人员的专业能力、确保信息安全性具有至关重要的作用。 本文将深入探讨该…

神经网络(四):UNet图像分割网络

文章目录 一、简介二、网络结构2.1编码器部分2.2解码器部分2.3完整代码 三、实战案例 一、简介 UNet网络是一种用于图像分割的卷积神经网络&#xff0c;其特点是采用了U型网络结构&#xff0c;因此称为UNet。该网络具有编码器和解码器结构&#xff0c;两种结构的功能如下&#…

网络安全中的 EDR 是什么:概述和功能

专业知识&#xff1a;EDR、XDR、NDR 和 MDR_xdr edr ndr-CSDN博客 端点检测和响应 (EDR) 是一种先进的安全系统&#xff0c;用于检测、调查和解决端点上的网络攻击。它可以检查事件、检查行为并将系统恢复到攻击前的状态。EDR 使用人工智能、机器学习和威胁情报来避免再次发生攻…

矩阵分析 学习笔记4 内积与Gram矩阵

内积 定义 由于对称&#xff0c;第二变元线性那第一变元也线性了。例如这个&#xff1a;

Tomcat may not be running

一、问题背景 tomcat7运行在JDK1.7上&#xff0c;可启动tomcat&#xff0c;但是停止时报错误&#xff0c;如下&#xff1a; 二、适用条件 JDK1.7/JDK1.8 tomcat7 三、解决方法 1、查找java路径 which java 2、修改文件 找到/usr/lib/jvm/jdk1.7.0_80/jre/lib/security/j…

力扣P1706全排列问题 很好的引入暴力 递归 回溯 dfs

代码思路是受一个洛谷题解里面大佬的启发。应该算是一个dfs和回溯的入门题目&#xff0c;很好的入门题目了下面我会先给我原题解思路我想可以很快了解这个思路。下面是我自己根据力扣大佬写的。 我会进行详细讲解并配上图辅助理解大家请往下看 #include<iostream> #inc…

Java 注解详解:从基础到自定义及解析

注解&#xff1a;概述 目标 能够理解注解在程序中的作用 路径 什么是注解注解的作用 注解 什么是注解&#xff1f; 注解(Annotation)也称为元数据&#xff0c;是一种代码级别的说明注解是JDK1.5版本引入的一个特性&#xff0c;和类、接口是在同一个层次注解可以声明在包…

创意实现!在uni-app小程序商品详情页轮播中嵌入视频播放功能

背景介绍 通过uni-app框架实现商城小程序商品详情页的视频与图片轮播功能&#xff0c;以提升用户体验和增加商品吸引力。通过展示商品视频和图片&#xff0c;用户可以更全面地了解商品细节&#xff0c;从而提高购买决策的便利性和满意度。这种功能适用于各类商品&#xff0c;如…

Redis --- redis事务和分布式事务锁

redis事务基本实现 Redis 可以通过 MULTI&#xff0c;EXEC&#xff0c;DISCARD 和 WATCH 等命令来实现事务(transaction)功能。 > MULTI OK > SET USER "Guide哥" QUEUED > GET USER QUEUED > EXEC 1) OK 2) "Guide哥"使用 MULTI命令后可以输入…

嘉立创EDA-- 线宽、过孔和电流大小对比图

导线宽度和电流大小如何来考虑 1 电流大小需要考虑问题 1、允许的温升&#xff1a;如果能够允许的铜线升高的温度越高&#xff0c;那么允许通过的电流自然也就越高 2、走线的线宽&#xff1a;线越宽 &#xff0c;导线横截面积越大&#xff0c;电阻越小&#xff0c;发热越小&a…

影刀---实现我的第一个抓取数据的机器人

你们要的csdn自动回复机器人在这里文末哦&#xff01; 这个上传的资源要vip下载&#xff0c;如果想了解影刀这个软件的话可以私聊我&#xff0c;我发你 目录 1.网页对象2.网页元素3.相似元素组4.元素操作设置下拉框复选框滚动条获取元素的信息 5.变量6.数据的表达字符串变量列…

汽车免拆诊断案例 | 2016 款宾利GT车仪表盘上的多个故障灯点亮

故障现象 一辆2016款宾利欧陆GT车&#xff0c;搭载CYCB发动机&#xff0c;累计行驶里程约为4.5万km。据车主反映&#xff0c;发动机偶尔无法起动&#xff0c;仪表盘上的多个故障灯点亮&#xff08;图1&#xff09;。此外&#xff0c;刮水器、电动车窗及空调等电器设备功能失效…

代码随想录算法训练营第十一天|150. 逆波兰表达式求值 239. 滑动窗口最大值 347.前 K 个高频元素

150. 逆波兰表达式求值 根据 逆波兰表示法&#xff0c;求表达式的值。 有效的运算符包括 , - , * , / 。每个运算对象可以是整数&#xff0c;也可以是另一个逆波兰表达式。 说明&#xff1a; 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说&#xff0c…

vue3+element-plus icons图标选择组件封装

一、最终效果 二、参数配置 1、代码示例 <t-select-icon v-model"selectVlaue" />2、配置参数&#xff08;Attributes&#xff09;继承 el-input Attributes 参数说明类型默认值v-model绑定值string-prefixIcon输入框前缀iconstringSearchisShowSearch是否显…

注册安全分析报告:人民卫生音像

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Footprint Growthly Quest 工具:赋能 Telegram 社区实现 Web3 飞速增长

作者&#xff1a;Stella L (stellafootprint.network) 在 Web3 的快节奏世界里&#xff0c;社区互动是关键。而众多 Web3 社区之所以能够蓬勃发展&#xff0c;很大程度上得益于 Telegram 平台。正因如此&#xff0c;Footprint Analytics 精心打造了 Growthly —— 一款专为 Tel…

leaflet加载GeoServer的WMS地图服务.md

leaflet加载GeoServer的WMS地图服务&#xff0c;该示例涵盖了涵盖了 “WMS图层加载、WMS图层动态投影、图层index顺序调整、图层添加、高德地图、腾讯地图OpenStreet地图”&#xff0c;WMS图层加载看代码中标注的核心代码部分即可。 <!DOCTYPE html> <html xmlns&qu…

SpringBoot集成阿里easyexcel(一)基础导入导出

easyexcel主要用于excel文件的读写&#xff0c;可使用model实体类来定义文件读写的模板&#xff0c;对开发人员来说实现简单Excel文件的读写很便捷。可参考官方文档 https://github.com/alibaba/easyexcel 一、引入依赖 <!-- 阿里开源EXCEL --><dependency><gr…

数据科学的核心工具箱:全面解析pandas、matplotlib.pyplot与scipy.stats在复杂数据分析流程中的应用

在当今数据驱动的世界中&#xff0c;Python已成为数据分析和科学计算的首选语言。 而 pandas 、 matplotlib.pyplot 和 scipy.stats 这三个库则是数据科学家和分析师武器库中 的三把利剑。 1. pandas 数据处理的瑞士军刀 pandas 库是 Python数据分析 的基石&#xff0c;它…