一文精通Redis主从、哨兵模式部署

目录

三、Redis主从

3.1 节点规划

3.2 配置免密登录

3.3 主从实例安装

3.3.1 前置环境

3.3.2 下载安装包

3.3.3 安装并启动

① 创建运行目录

② 创建守护进程服务

③ 创建停止脚本

④ 启动

3.3.4 配置man手册

3.3.5 配置日志切割

3.4 主从配置

3.5 主从验证

3.6 主从原理

3.6.1 相关概念

3.6.1 全量同步原理

3.6.2 增量同步原理

3.6.3 总结

3.7 主从优化

四、Redis哨兵

4.1 哨兵的作用与原理

4.2 节点规划

4.3 配置免密登录

4.4 Sentinel实例安装

4.4.1 前置环境

4.4.2 下载安装包

4.4.3 安装并启动

① 创建运行目录

② 创建守护进程服务

③ 创建停止脚本

④ 启动

4.4.4 配置man手册

4.4.5 配置日志切割

4.5 配置哨兵

4.6 哨兵测试


三、Redis主从

3.1 节点规划

操作系统 IP地址 端口号 主机名称 软件包
Almalinux 192.168.44.209 6379 redis1 redis
Almalinux 192.168.44.210 6379 redis2 redis
Almalinux 192.168.44.211 6379 redis3 redis

3.2 配置免密登录

#209
cd ~
cat >host_list.txt <<'EOF'
192.168.44.209 1
192.168.44.210 1
192.168.44.211 1
EOF
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa -y
yum install -y sshpass
cd ~
for i in $(seq $(cat host_list.txt |wc -l));\
do \
host_ip="$(cat host_list.txt |awk "NR==${i}"'{print $1}')";\
host_password="$(cat host_list.txt |awk "NR==${i}"'{print $2}')";\
echo "start config host:${host_ip}";\
sshpass -p"${host_password}" ssh-copy-id "-o StrictHostKeyChecking=no" -i /root/.ssh/id_rsa.pub root@"${host_ip}";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${host_ip}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done
#验证209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "ip a";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#修改主机名称所有节点
#批量209
cd ~
num=1
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "hostnamectl set-hostname redis${num}";\
ssh root@"${i}" "hostname";\
num=$((num+1));\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#安装相关小软件所有节点
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "yum install rsync logrotate -y";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#修改host文件所有节点
#单机编辑209
vim /etc/hosts
192.168.44.209   redis1
192.168.44.210   redis2
192.168.44.211   redis3
192.168.44.200   vip
#分发209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
rsync -avzP /etc/hosts root@"${i}":/etc/hosts;\
ssh root@"${i}" "cat /etc/hosts";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#关闭防火墙和selinux 所有节点
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "systemctl stop firewalld";\
ssh root@"${i}" "systemctl disable firewalld";\
ssh root@"${i}" "sed -ri 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux";\
ssh root@"${i}" "grep -F 'SELINUX=' /etc/sysconfig/selinux";\
ssh root@"${i}" "setenforce 0";\
ssh root@"${i}" "getenforce";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

3.3 主从实例安装

官网:Install Redis from Source | Docs

3.3.1 前置环境

=====================================

仅209单机操作即可

=====================================

#安装docker运行时209
#准备主机清单,这一步会破坏后续批量部署主机清单
#操作完后别忘了参考3.2节密码登录配置,把它还原回来
#~~~~~~~~~集群是三台机器~~~~~~~~~~~~~~~~~
cd ~
cat <<'EOF' | sudo tee ./host_list.txt
192.168.44.209 1
EOF
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa -y

#配置免密登录209
yum install -y sshpass
cd ~
for i in $(seq $(cat host_list.txt |wc -l));\
do \
host_ip="$(cat host_list.txt |awk "NR==${i}"'{print $1}')";\
host_password="$(cat host_list.txt |awk "NR==${i}"'{print $2}')";\
echo "start config host:${host_ip}";\
sshpass -p"${host_password}" ssh-copy-id "-o StrictHostKeyChecking=no" -i /root/.ssh/id_rsa.pub root@"${host_ip}";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${host_ip}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#验证209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "ip a";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#安装小软件
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "yum install rsync -y";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#官方网站:https://docs.docker.com/engine/install/centos/
#清理环境
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#官方源(备用)
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo";\
ssh root@"${i}" "ls -l /etc/yum.repos.d";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done
=====================================================================
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
=====================================================================
#安装指定版本docker这里是20.10.14版本
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "yum install -y yum-utils";\
ssh root@"${i}" "yum list docker-ce --showduplicates | sort -r";\
ssh root@"${i}" "yum list docker-ce-cli --showduplicates | sort -r";\
ssh root@"${i}" "yum list containerd.io --showduplicates | sort -r";\
ssh root@"${i}" "yum install docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io -y";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done
#阿里源(推荐)
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "curl  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo";\
ssh root@"${i}" "ls -l /etc/yum.repos.d";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done
==================================================================
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
==================================================================

#等等安装GPG签名报错?
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "rpm --import https://mirrors.aliyun.com/almalinux/RPM-GPG-KEY-AlmaLinux";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#创建文件夹所有节点
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "yum install tree -y";\
ssh root@"${i}" "mkdir /etc/docker -p";\
ssh root@"${i}" "mkdir /data/docker -p";\
ssh root@"${i}" "tree /data";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#修改docker配置文件,bip172.xx.xx.1的xx.xx替换为主机ip的后两位
#单机编辑209
#参考弃用文档:https://docs.docker.com/engine/deprecated/#duplicate-keys-with-conflicting-values-in-engine-labels
#参考daemon.json配置文档:https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
#旧版配置,graph在版本v17.05中已弃用;在版本中v23.0彻底移除;用data-root替代
vim /etc/docker/daemon.json
{
  "graph": "/data/docker",
  "storage-driver": "overlay2",
  "insecure-registries": ["registry.access.redhat.com","quay.io","192.168.44.201:8088"],
  "registry-mirrors": [
    "https://uoggbpok.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.nju.edu.cn"
  ],
  "bip": "172.16.0.1/16",
  "exec-opts": ["native.cgroupdriver=systemd"],
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {"max-size":"100m", "max-file":"3"}
}
#新版配置,如果发现无法启动docker守护进程,请使用这个配置
vim /etc/docker/daemon.json
{
  "data-root": "/data/docker",
  "storage-driver": "overlay2",
  "insecure-registries": ["registry.access.redhat.com","quay.io","192.168.44.201:8088"],
  "registry-mirrors": [
    "https://uoggbpok.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.nju.edu.cn"
  ],
  "bip": "172.16.0.1/16",
  "exec-opts": ["native.cgroupdriver=systemd"],
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {"max-size":"100m", "max-file":"3"}
}
#分发209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
rsync -avzP /etc/docker/daemon.json root@"${i}":/etc/docker/;\
ssh root@"${i}" "cat /etc/docker/daemon.json";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#所有节点
#启动docker,验证版本信息
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "systemctl daemon-reload";\
ssh root@"${i}" "systemctl enable docker";\
ssh root@"${i}" "systemctl start docker";\
ssh root@"${i}" "docker version";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#安装完成
[root@docker ~]# docker info 

#Docker仓库凉凉了??
#单机配置代理209
#https://docs.docker.com/engine/daemon/proxy/#systemd-unit-file
[root@docker ~]# mkdir -p /etc/systemd/system/docker.service.d
[root@docker ~]# vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.131:8080"
Environment="HTTPS_PROXY=http://192.168.1.131:8080"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,192.168.44.201,registry.myhabor.com"

#分发209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "mkdir -p /etc/systemd/system/docker.service.d";\
rsync -avzP /etc/systemd/system/docker.service.d/http-proxy.conf root@"${i}":/etc/systemd/system/docker.service.d/;\
ssh root@"${i}" "cat /etc/systemd/system/docker.service.d/http-proxy.conf";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#单机还原镜像加速配置209
[root@docker ~]# vim /etc/docker/daemon.json
{
  "data-root": "/data/docker",
  "storage-driver": "overlay2",
  "insecure-registries": ["registry.access.redhat.com","quay.io","192.168.44.201:8088"],
  "bip": "172.16.0.1/16",
  "exec-opts": ["native.cgroupdriver=systemd"],
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {"max-size":"100m", "max-file":"3"}
}

#分发
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
rsync -avzP /etc/docker/daemon.json root@"${i}":/etc/docker/;\
ssh root@"${i}" "cat /etc/docker/daemon.json";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#重启docker
#批量209
cd ~
for i in $(cat host_list.txt |awk '{print $1}');\
do \
ssh root@"${i}" "systemctl daemon-reload";\
ssh root@"${i}" "systemctl restart docker";\
ssh root@"${i}" "docker version";\
echo -e "\033[36m===================================================\033[0m";\
echo -e "\033[36m${i}\033[0m";\
echo -e "\033[36m===================================================\033[0m";\
echo;\
done

#运行java8临时容器209
[root@docker ~]# docker container run -it --rm openjdk:8 /bin/bash
root@3568980b5c9b:/# env
HOSTNAME=3568980b5c9b
JAVA_HOME=/usr/local/openjdk-8
PWD=/
HOME=/root
LANG=C.UTF-8
TERM=xterm
SHLVL=1
PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
JAVA_VERSION=8u342
_=/usr/bin/env

3.3.2 下载安装包

官网:Downloads - Redis

发行版源码包:Index of /releases/

#官方推荐源码编译安装,我们投机取巧一下。
#直接下载docker与rpm组装版本209
=>  root @ 󰌽 linux-learn: 󰉋 ~------------------------------------------------------------------------------------------
➜ cd /tmp

=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ yum download --destdir=/tmp redis

#把rpm转化为tar。tgz模式209
=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ rpm2archive redis-5.0.3-5.module_el8.4.0+2583+b9845322.x86_64.rpm

=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ ll
总用量 2.3M
-rw-r--r-- 1 root root 926K 9月   2 20:28 redis-5.0.3-5.module_el8.4.0+2583+b9845322.x86_64.rpm
-rw-r--r-- 1 root root 1.4M 9月   2 20:37 redis-5.0.3-5.module_el8.4.0+2583+b9845322.x86_64.rpm.tgz
drwx------ 3 root root   17 9月   2 20:11 systemd-private-c531182ee6b945ddb1c53618f8c26222-chronyd.service-DKdUBk

#把它解压缩到特定的目录备用209
=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ mkdir -p /tmp/redis-dir

=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ tar xf redis-5.0.3-5.module_el8.4.0+2583+b9845322.x86_64.rpm.tgz -C /tmp/redis-dir

=>  root @ 󰌽 linux-learn: 󰉋 /tmp---------------------------------------------------------------------------------------
➜ tree /tmp/redis-dir
/tmp/redis-dir
├── etc
│   ├── logrotate.d
│   │   └── redis
│   ├── redis.conf
│   ├── redis-sentinel.conf
│   └── systemd
│       └── system
│           ├── redis-sentinel.service.d
│           │   └── limit.conf
│           └── redis.service.d
│               └── limit.conf
├── usr
│   ├── bin
│   │   ├── redis-benchmark
│   │   ├── redis-check-aof -> redis-server
│   │   ├── redis-check-rdb -> redis-server
│   │   ├── redis-cli
│   │   ├── redis-sentinel -> redis-server
│   │   └── redis-server
│   ├── lib
│   │   └── systemd
│   │       └── system
│   │           ├── redis-sentinel.service
│   │           └── redis.service
│   ├── lib64
│   │   └── redis
│   │       └── modules
│   ├── libexec
│   │   └── redis-shutdown
│   └── share
│       ├── licenses
│       │   └── redis
│       │       ├── COPYING
│       │       ├── COPYING-hiredis
│       │       ├── COPYING-jemalloc
│       │       └── COPYRIGHT-lua
│       └── man
│           ├── man1
│           │   ├── redis-benchmark.1.gz
│           │   ├── redis-check-aof.1.gz
│           │   ├── redis-check-rdb.1.gz
│           │   ├── redis-cli.1.gz
│           │   ├── redis-sentinel.1.gz -> redis-server.1.gz
│           │   └── redis-server.1.gz
│           └── man5
│               ├── redis.conf.5.gz
│               └── redis-sentinel.conf.5.gz -> redis.conf.5.gz
└── var
    ├── lib
    │   └── redis
    └── log
        └── redis

26 directories, 26 files

#运行almalinux:8临时容器209
#注意你的宿主机什么操作系统就运行什么
#我的是almalinux:8
root in 🌐 linux-learn in ~
➜ docker container run --name=redis \
--rm \
-it \
almalinux:8 /bin/bash

#把临时容器放入后台运行209
root in 🌐 linux-learn in ~
➜ Ctrl + p + q

#进入容器209
root in 🌐 linux-learn in ~ took 1m55s
➜ docker container exec -it redis /bin/bash

#下载源码并编译
[root@a438ba4941d9 /]# cd /tmp/
[root@a438ba4941d9 tmp]#
[root@a438ba4941d9 tmp]# curl -L https://download.redis.io/releases/redis-6.2.6.tar.gz -o redis-6.2.6.tar.gz
[root@a438ba4941d9 tmp]# tar xf redis-6.2.6.tar.gz
[root@a438ba4941d9 tmp]# cd redis-6.2.6
[root@a438ba4941d9 redis-6.2.6]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
[root@a438ba4941d9 redis-6.2.6]# yum install make gcc glibc glibc-devel openssl openssl-devel systemd-devel -y
[root@a438ba4941d9 redis-6.2.6]# make BUILD_TLS=yes USE_SYSTEMD=yes
[root@a438ba4941d9 redis-6.2.6]# make install
[root@a438ba4941d9 redis-6.2.6]# ls -l
total 244
-rw-rw-r--  1 root root 33624 Oct  4  2021 00-RELEASENOTES
-rw-rw-r--  1 root root    51 Oct  4  2021 BUGS
-rw-rw-r--  1 root root  5026 Oct  4  2021 CONDUCT
-rw-rw-r--  1 root root  3384 Oct  4  2021 CONTRIBUTING
-rw-rw-r--  1 root root  1487 Oct  4  2021 COPYING
-rw-rw-r--  1 root root    11 Oct  4  2021 INSTALL
-rw-rw-r--  1 root root  6888 Oct  4  2021 MANIFESTO
-rw-rw-r--  1 root root   151 Oct  4  2021 Makefile
-rw-rw-r--  1 root root 21567 Oct  4  2021 README.md
-rw-rw-r--  1 root root  3055 Oct  4  2021 TLS.md
drwxrwxr-x  7 root root   213 Sep  2 14:23 deps
-rw-rw-r--  1 root root 93724 Oct  4  2021 redis.conf
-rwxrwxr-x  1 root root   275 Oct  4  2021 runtest
-rwxrwxr-x  1 root root   279 Oct  4  2021 runtest-cluster
-rwxrwxr-x  1 root root  1079 Oct  4  2021 runtest-moduleapi
-rwxrwxr-x  1 root root   281 Oct  4  2021 runtest-sentinel
-rw-rw-r--  1 root root 13768 Oct  4  2021 sentinel.conf
drwxrwxr-x  3 root root 12288 Sep  2 14:29 src
drwxrwxr-x 11 root root   182 Oct  4  2021 tests
drwxrwxr-x  9 root root  4096 Oct  4  2021 utils
[root@a438ba4941d9 redis-6.2.6]# ls -l /usr/local/bin/
total 25048
-rwxr-xr-x 1 root root  6592864 Sep  2 14:29 redis-benchmark
lrwxrwxrwx 1 root root       12 Sep  2 14:29 redis-check-aof -> redis-server
lrwxrwxrwx 1 root root       12 Sep  2 14:29 redis-check-rdb -> redis-server
-rwxr-xr-x 1 root root  6804832 Sep  2 14:29 redis-cli
lrwxrwxrwx 1 root root       1
Redis可以以不同的模式运行,包括单机模式、主从模式、哨兵模式和集群模式。在单机模式下,Redis只有一个实例,所有的数据都存储在这个实例中。主从模式中,有一个主节点和多个从节点,主节点负责写入数据,从节点负责复制主节点的数据。哨兵模式是在主从模式的基础上引入了哨兵节点,哨兵节点负责监控整个Redis集群的状态,并在主节点出现故障时自动将一个从节点升级为新的主节点。集群模式是在主从模式的基础上引入了分片,将数据分散存储在多个节点上,提高了存储和访问的能力。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [redis单机、主从、哨兵、集群模式](https://blog.csdn.net/weixin_43989347/article/details/125293740)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [一文读懂Redis的四种模式,单机、主从、哨兵、集群(*)](https://blog.csdn.net/weixin_42408447/article/details/120995478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值