redis主从从,redis-7.0.13

redis主从从,redis-7.0.13

    • 下载redis
    • 安装redis
      • 安装redis-7.0.13过程
        • 报错1、没有gcc,
        • 报错2、没有python3,
        • 报错3、[adlist.o] 错误 127
      • 解决安装报错
      • 安装完成
    • 部署redis 主从从结构
      • redis主服务器
        • 配置redis
        • 启动redis
        • 登录redis
        • redis默认是主
      • redis从服务器1
      • redis从服务器2
    • 部署3哨兵 redis-sentinel
        • 未成功故障切换
    • 哨兵配置文件 默认文件
    • redis.conf 默认文件

下载redis

下载 |雷迪斯 (redis.io)

在这里插入图片描述

链接:https://download.redis.io/releases/redis-7.0.13.tar.gz?_gl=11itkjl8_gaNjQ4ODk5MzUxLjE2OTU0NTQ0NTU._ga_8BKGRQKRPV*MTY5NTQ1NDQ1NS4xLjEuMTY5NTQ1NTI3OC4xMC4wLjA.

安装redis

从源安装 Redis |雷迪斯

在这里插入图片描述

python链接:
https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz

curl -o Python-3.11.5.tgz https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz

在这里插入图片描述

安装redis-7.0.13过程

报错1、没有gcc,
报错2、没有python3,
报错3、[adlist.o] 错误 127
tar xf redis-7.0.13.tar.gz
cd redis-7.0.13
make 
# 报错 没有命令 cc,没有python3,[adlist.o] 错误 127
cd src && make all
sh: cc: 未找到命令
which: no python3 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: 进入目录“/data/redis1/redis-stable/src”CC Makefile.dep
make[1]: 离开目录“/data/redis1/redis-stable/src”
sh: cc: 未找到命令
which: no python3 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: 进入目录“/data/redis1/redis-stable/src”
....
MAKE hiredis
cd hiredis && make static
make[3]: 进入目录“/data/redis1/redis-stable/deps/hiredis”
cc -std=c99 -c -O3 -fPIC   -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb  -pedantic alloc.c
make[3]: cc:命令未找到
make[3]: *** [alloc.o] 错误 127
make[3]: 离开目录“/data/redis1/redis-stable/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/data/redis1/redis-stable/deps”
make[1]: [persist-settings] 错误 2 (忽略)CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/data/redis1/redis-stable/src”
make: *** [all] 错误 2

解决安装报错

#安装python3,安装gcc
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
cd /data/
curl -o Python-3.11.5.tgz https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
tar xf Python-3.11.5.tgz
cd Python-3.11.5.tgz
mkdir -p /usr/local/tools/
./configure --prefix=/usr/local/tools/
make && make install
ll /usr/local/tools/
总用量 0
drwxr-xr-x 2 root root 202 923 18:01 bin
drwxr-xr-x 3 root root  24 923 18:01 include
drwxr-xr-x 4 root root  64 923 18:01 lib
drwxr-xr-x 3 root root  17 923 18:01 share#配置python环境变量
vim /etc/profile
export PYTHON_HOME=/usr/local/tools
export PATH=$PYTHON_HOME/bin:$PATHsource /etc/profile
which python3
/usr/local/tools/bin/python3#再次make redis
cd /data/redis-7.0.13
make && make install
#报错
cd src && make all
make[1]: 进入目录“/data/redis/redis-7.0.13/src”CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录#include <jemalloc/jemalloc.h>^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/data/redis/redis-7.0.13/src”
make: *** [all] 错误 2# 使用make MALLOC=libc
make MALLOC=libc
#编译成功CC cli_common.oLINK redis-cliCC redis-benchmark.oLINK redis-benchmarkINSTALL redis-check-rdbINSTALL redis-check-aofHint: It's a good idea to run 'make test' ;)make[1]: 离开目录“/data/redis/redis-7.0.13/src”

安装完成

ll src/redis-cli
-rwxr-xr-x 1 root root 1083416 923 18:24 src/redis-cli
ll src/redis-server
-rwxr-xr-x 1 root root 7018488 923 18:24 src/redis-server
ll src/redis-sentinel
-rwxr-xr-x 1 root root 7018488 923 18:24 src/redis-sentinel

部署redis 主从从结构

瑞迪斯配置 |雷迪斯 (redis.io)

Redis 配置文件示例 |雷迪斯

瑞迪斯复制 |雷迪斯 (redis.io)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

redis主服务器

配置redis
cd /data/redis/redis-7.0.13
cp redis.conf redis.conf.bakln -s /data/redis/redis-7.0.13/src/redis-server  /usr/local/bin/redis-server
ln -s /data/redis/redis-7.0.13/src/redis-sentinel /usr/local/bin/redis-sentinel
ln -s /data/redis/redis-7.0.13/src/redis-cli /usr/local/bin/redis-climkdir -p /data/redisdata/vim redis.conf
bind 192.168.75.143
port 6379
protected-mode no
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice#Redis服务器的工作目录
dir /data/redisdata/#Redis日志文件的路径,如果设置为空字符串,表示不记录日志文件,只在终端打印
logfile /data/redis.log
#
##Redis服务器支持的数据库数量
databases 16
#
##是否总是显示Redis的logo,如果设置为yes,每次启动Redis时都会打印logo
always-show-logo no#服务器密码
requirepass "123456"#连接主服务器的密码
masterauth 123456
启动redis
src/redis-server redis.conf &
登录redis
[root@redis2 redis-7.0.13]# redis-cli -h 192.168.75.143
192.168.75.143:6379> ping
(error) NOAUTH Authentication required.
192.168.75.143:6379> auth 123456
OK
192.168.75.143:6379> ping
PONG
192.168.75.143:6379>
redis默认是主

192.168.75.143:6379> info
# Server
redis_version:7.0.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:6199b82bc88869ee
redis_mode:standalone
os:Linux 3.10.0-862.el7.x86_64 x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:1403
process_supervised:no
run_id:16267262862dc73b8cebb24273cf04274ac40e90
tcp_port:6379
server_time_usec:1695627161454916
uptime_in_seconds:61
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:1128345
executable:/data/redis/redis-7.0.13/src/redis-server
config_file:/data/redis/redis-7.0.13/redis.conf
io_threads_active:0# Clients
connected_clients:1
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:24
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0# Replication   
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:4e46cf3ce0a63154324bec95ecd029f7ad681a28
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

redis从服务器1

cd /data/redis/redis-7.0.13
cp redis.conf redis.conf.bakvim redis.conf
bind 192.168.75.144
port 6379
protected-mode no
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice#Redis服务器的工作目录
dir /data/redisdata/#Redis日志文件的路径,如果设置为空字符串,表示不记录日志文件,只在终端打印
logfile /data/redis.log
#
##Redis服务器支持的数据库数量
databases 16
#
##是否总是显示Redis的logo,如果设置为yes,每次启动Redis时都会打印logo
always-show-logo no#服务器密码
requirepass "123456"#从服务器设置,复制哪个主服务器
replicaof 192.168.75.143 6379
#连接主服务器的密码
masterauth 123456

redis从服务器2

cd /data/redis/redis-7.0.13
cp redis.conf redis.conf.bakvim redis.conf
bind 192.168.75.145
port 6379
protected-mode no
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice#Redis服务器的工作目录
dir /data/redisdata/#Redis日志文件的路径,如果设置为空字符串,表示不记录日志文件,只在终端打印
logfile /data/redis.log
#
##Redis服务器支持的数据库数量
databases 16
#
##是否总是显示Redis的logo,如果设置为yes,每次启动Redis时都会打印logo
always-show-logo no#服务器密码
requirepass "123456"#从服务器设置,复制哪个主服务器
replicaof 192.168.75.143 6379
#连接主服务器的密码
masterauth 123456

部署3哨兵 redis-sentinel

未成功故障切换

Redis Sentinel 的高可用性 |雷迪斯
在这里插入图片描述

哨兵配置文件 默认文件

sentinel.conf#是否开启保护模式,'no'表示关闭,默认为关闭
protected-mode no#Redis Sentinel监听的端口号
port 26379#是否以后台进程形式运行,'no'表示在前台运行,默认为'no'"
daemonize no#Redis Sentinel后台运行的进程ID文件路径
pidfile /var/run/redis-sentinel.pid#Redis Sentinel的日志文件路径,此处为空,表示没有指定日志文件,日志打印到控制台。后台运行时如果不配置日志文件,日志将写入/dev/null
logfile ""#Redis Sentinel的工作目录
dir /tmp#定义要监视的主服务器,格式为'master-name ip port quorum'。
# 此处监视名为'mymaster'的主服务器,其在IP地址127.0.0.1的6379端口上运行,并且需要2个Sentinel同意才能进行故障转移,3节点的哨兵集群写2  数字需大于哨兵集群节点总数的一半
sentinel monitor mymaster 127.0.0.1 6379 2#定义主服务器失败所需的时间(毫秒)。如果主服务器在指定的时间内没有响应,Sentinel将认为它已经失败
sentinel down-after-milliseconds mymaster 30000#定义了ACL日志的最大长度,以KB为单位。0表示没有限制
acllog-max-len 128#定义在执行故障转移时,可以同时进行主从同步的数量,示在执行故障转移时,最多只有一个从节点会成为新的主节点。其他从节点会尝试复制新的主节点,但是不会成为主节点。
sentinel parallel-syncs mymaster 1#定义故障转移的超时时间(毫秒)。如果在这个时间内没有完成故障转移,Sentinel将停止并尝试其他方法
sentinel failover-timeout mymaster 180000#是否禁止在运行时通过脚本重新配置Sentinel,'yes'表示禁止
sentinel deny-scripts-reconfig yes#是否允许Sentinel解析主机名,'no'表示不允许
SENTINEL resolve-hostnames no#是否允许Sentinel宣布其主机名,'no'表示不允许
SENTINEL announce-hostnames no#如果主服务器因重启而消失的时间超过这个值(以毫秒为单位),Sentinel将认为主服务器已经失败。此处为0,表示关闭此功能
SENTINEL master-reboot-down-after-period mymaster 0

管理红人 |雷迪斯 (redis.io)

redis配置
在这里插入图片描述

启动redis两种方式

  1. 命令行

    redis-server /path/to/your/redis.conf

  2. systemctl

    cp redis-7.0.13/utils/systemd-redis_server.service /usr/lib/systemd/system/redis.service

    vim /usr/lib/systemd/system/redis.service

    sudo systemctl daemon-reload
    sudo systemctl enable redis
    sudo systemctl start redis

redis.conf 默认文件

#绑定Redis服务器到指定的IP地址,多个IP地址用空格分隔。如 127.0.0.1 -::1 表示绑定到本机的所有IPv4和IPv6的地址
bind 127.0.0.1 -::1#保护模式,如果是yes,没有密码的客户端将不能访问Redis服务器
protected-mode yes#如需要设置Redis的密码
requirepass yourpassword#Redis服务器监听的端口号
port 6379#TCP连接队列的最大长度
tcp-backlog 511#客户端连接闲置多长时间后关闭,0表示关闭此功能
timeout 0#TCP连接的保持活跃时间,单位是秒
tcp-keepalive 300#是否让Redis以守护进程方式运行,如果是yes,Redis将在后台运行
daemonize no#如果Redis以守护进程方式运行,这个选项将指定一个文件名,Redis会把它的进程ID写入这个文件。
pidfile /var/run/redis_6379.pid#Redis日志的级别,可选值包括debug、verbose、notice和warning
loglevel notice#Redis日志文件的路径,如果设置为空字符串,表示不记录日志文件,只在终端打印
logfile ""#Redis服务器支持的数据库数量
databases 16#是否总是显示Redis的logo,如果设置为yes,每次启动Redis时都会打印logo
always-show-logo no#是否设置进程标题,如果设置为yes,Redis会使用一个包含有用信息的标题
set-proc-title yes#设置进程标题的格式
proc-title-template "{title} {listen-addr} {server-mode}"#如果在后台保存数据时发生错误,是否停止写入操作
stop-writes-on-bgsave-error yes#是否启用RDB数据持久化时的压缩功能
rdbcompression yes#是否启用RDB文件的校验和,如果启用,会增加大约10%的性能消耗
rdbchecksum yes#RDB数据持久化文件的名称
dbfilename dump.rdb#是否在每次写入RDB文件后删除旧的RDB文件
rdb-del-sync-files no#Redis服务器的工作目录
dir ./#当主从复制链接断开时,从服务器是否继续提供服务
replica-serve-stale-data yes#从服务器是否为只读模式
#从 Redis 2.6 开始,副本支持默认启用的只读模式
replica-read-only yes#是否启用无盘复制
repl-diskless-sync yes#无盘复制的延迟时间,单位是秒
repl-diskless-sync-delay 5#无盘复制的最大从服务器数量
repl-diskless-sync-max-replicas 0#是否从无盘复制的从服务器加载数据
repl-diskless-load disabled#是否禁用TCP_NODELAY选项
repl-disable-tcp-nodelay no#从服务器的优先级,用于主从复制
replica-priority 100#ACL日志的最大长度
acllog-max-len 128#是否启用延迟释放内存的策略,如果是yes,当内存达到maxmemory限制时,Redis将使用更少的CPU时间来删除键
lazyfree-lazy-eviction no#是否启用延迟释放内存的策略,如果是yes,当键过期时,Redis将使用更少的CPU时间来删除键
lazyfree-lazy-expire no#是否启用延迟释放内存的策略,如果是yes,当服务器删除键时,Redis将使用更少的CPU时间来删除键
lazyfree-lazy-server-del no#是否启用延迟释放内存的策略,如果是yes,当从服务器接收到主服务器的全量复制数据时,Redis将使用更少的CPU时间来删除键
replica-lazy-flush no#是否启用延迟释放内存的策略,如果是yes,当用户调用DEL命令删除键时,Redis将使用更少的CPU时间来删除键
lazyfree-lazy-user-del no#是否启用延迟释放内存的策略,如果是yes,当用户调用FLUSHALL或FLUSHDB命令时,Redis将使用更少的CPU时间来删除键
lazyfree-lazy-user-flush no#当系统内存不足时,是否调整Redis的OOM分数
oom-score-adj no#OOM分数的调整值
oom-score-adj-values 0 200 800#是否禁用透明大页面(THP)
disable-thp yes#是否开启AOF持久化
appendonly no#AOF持久化文件的名称
appendfilename "appendonly.aof"#AOF文件保存的目录
appenddirname "appendonlydir"#AOF文件同步到磁盘的策略
appendfsync everysec#在重写AOF文件期间是否禁用fsync操作
no-appendfsync-on-rewrite no#当前AOF文件大小增长达到上次AOF重写后大小的一定百分比时,将触发AOF重写,即重新生成AOF文件。
#这个百分比就是auto-aof-rewrite-percentage,设置为100表示AOF文件大小增长到上次AOF重写后大小的两倍时,触发AOF重写
auto-aof-rewrite-percentage 100#AOF文件的最小大小,只有AOF文件大小大于此值时,才会触发AOF重写
auto-aof-rewrite-min-size 64mb#如果AOF文件在加载时出现截断错误(比如文件损坏),是否继续加载。设置为yes表示继续加载,设置为no表示停止加载
aof-load-truncated yes#在AOF文件中使用RDB格式的preamble,这有助于在AOF重写时更快地生成新的AOF文件
aof-use-rdb-preamble yes#是否在AOF文件中记录每个写命令的执行时间戳,设置为no表示不记录
aof-timestamp-enabled no#慢查询日志的阈值,单位是微秒。只有当查询执行时间超过此值时,才会被记录到慢查询日志中
slowlog-log-slower-than 10000#慢查询日志的最大长度,即最多保存多少条慢查询日志
slowlog-max-len 128#延迟监控的阈值,单位是微秒。如果服务器在一段时间内持续超过此阈值,则会触发延迟监控
latency-monitor-threshold 0#哪些类型的键空间事件需要发送给客户端,比如'K$'表示所有键空间事件都发送
notify-keyspace-events ""#哈希类型可以存储的最大列表元素数量
hash-max-listpack-entries 512#哈希类型每个列表元素的最大值
hash-max-listpack-value 64#列表类型可以存储的最大列表大小
list-max-listpack-size -2#列表类型压缩的深度
list-compress-depth 0#集合类型可以存储的最大整数集合元素数量
set-max-intset-entries 512#有序集合类型可以存储的最大列表元素数量
zset-max-listpack-entries 128#有序集合类型每个列表元素的最大值
zset-max-listpack-value 64#HyperLogLog数据结构的最大空间占用,单位是字节
hll-sparse-max-bytes 3000#流数据结构每个节点的最大空间占用,单位是字节
stream-node-max-bytes 4096#流数据结构每个节点的最大元素数量
stream-node-max-entries 100#是否在执行命令时进行主动哈希扩展,设置为yes表示进行主动哈希扩展
activerehashing yes#设置客户端输出缓冲区的限制,normal表示普通客户端,0 0 0表示不限制
client-output-buffer-limit normal 0 0 0#设置从服务器客户端输出缓冲区的限制,256mb 64mb 60分别表示硬限制、软限制和持续时间
client-output-buffer-limit replica 256mb 64mb 60#设置发布订阅客户端输出缓冲区的限制,32mb 8mb 60分别表示硬限制、软限制和持续时间
client-output-buffer-limit pubsub 32mb 8mb 60#服务器每秒执行多少次事件循环,即服务器的运行频率
hz 10#是否动态调整服务器的运行频率,设置为yes表示动态调整
dynamic-hz yes#"在AOF重写期间是否对每个写入命令执行fsync操作,设置为yes表示执行
aof-rewrite-incremental-fsync yes#在生成RDB文件期间是否对每个写入命令执行fsync操作,设置为yes表示执行
rdb-save-incremental-fsync yes#是否启用jemalloc的后台线程,设置为yes表示启用
jemalloc-bg-thread yes#主服务器设置密码
#requirepass "123456"
#通过命令行,在主服务将密码写入配置文件
#config set requirepass <password>
#config set requirepass 123456
# config rewrite#从服务器设置,复制哪个主服务器
replicaof 192.168.1.1 6379#从服务器配置密码
masterauth <password>
## 也可通过命令行,在从服务器将密码配置写入配置文件
## config set masterauth <password>
## ## config set masterauth 123456
## config rewrite

瑞迪斯复制 |雷迪斯 (redis.io)

整服务器的运行频率,设置为yes表示动态调整
dynamic-hz yes#"在AOF重写期间是否对每个写入命令执行fsync操作,设置为yes表示执行
aof-rewrite-incremental-fsync yes#在生成RDB文件期间是否对每个写入命令执行fsync操作,设置为yes表示执行
rdb-save-incremental-fsync yes#是否启用jemalloc的后台线程,设置为yes表示启用
jemalloc-bg-thread yes#主服务器设置密码
#requirepass "123456"
#通过命令行,在主服务将密码写入配置文件
#config set requirepass <password>
#config set requirepass 123456
# config rewrite#从服务器设置,复制哪个主服务器
replicaof 192.168.1.1 6379#从服务器配置密码
masterauth <password>
## 也可通过命令行,在从服务器将密码配置写入配置文件
## config set masterauth <password>
## ## config set masterauth 123456
## config rewrite

瑞迪斯复制 |雷迪斯 (redis.io)
在这里插入图片描述

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

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

相关文章

DEM格式转换:转换NSDTF-DEM国标数据格式为通用格式,使用ArcGIS工具转换NSDTF-DEM国标.dem文件为通用.tif格式。

DEM格式转换&#xff1a;转换NSDTF-DEM国标数据格式为通用格式&#xff0c;使用ArcGIS工具转换NSDTF-DEM国标.dem文件为通用.tif格式。 *.dem是一种比较常见的DEM数据格式&#xff0c;其有两种文件组织方式&#xff0c;即NSDTF-DEM和USGS-DEM。 &#xff08;1&#xff09;NSDT…

【Linux】网络原理

文章目录 &#x1f4d6; 前言1. 计算机内部的交流1.1 计算机之间的交流&#xff1a; 2. 协议2.1 网络分层&#xff1a;2.2 以打电话为例&#xff1a;2.3 OSI七层模型&#xff1a;2.4 TCP/IP&#xff1a; 3. 操作系统与网络的关系4. 报头与解包4.1 报头的作用&#xff1a; 5. 局…

IDEA Debug技巧大全,看完就能提升工作效率

作者简介 目录 1.行断点 2.方法断点 3.异常断点 4.字段断点 5.条件表达式 1.行断点 行断点就是平时我们在代码行旁边单击鼠标打上的断点&#xff0c;这个没有什么好说的。关键点在于很多人不知道的&#xff0c;行断点其实是可以右击选择是对改行的全部调用都生效&#xf…

最新影视视频微信小程序源码-带支付和采集功能/微信小程序影视源码PHP(更新)

源码简介&#xff1a; 这个影视视频微信小程序源码&#xff0c;新更新的&#xff0c;它还带支付和采集功能&#xff0c;作为微信小程序影视源码&#xff0c;它可以为用户 提供丰富的影视资源&#xff0c;包括电影、电视剧、综艺节目等。 这个小程序影视源码&#xff0c;还带有…

Opengl之抛光物

我们目前使用的光照都来自于空间中的一个点。它能给我们不错的效果&#xff0c;但现实世界中&#xff0c;我们有很多种类的光照&#xff0c;每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light Caster) 平行光 当一个光源处于很远的地方时&#xff0c;来自光源的…

使用LDA(线性判别公式)进行iris鸢尾花的分类

线性判别分析((Linear Discriminant Analysis &#xff0c;简称 LDA)是一种经典的线性学习方法&#xff0c;在二分类问题上因为最早由 [Fisher,1936] 提出&#xff0c;亦称 ”Fisher 判别分析“。并且LDA也是一种监督学习的降维技术&#xff0c;也就是说它的数据集的每个样本都…

Simulink仿真封装中的参数个对话框设置

目录 参数和对话框窗格 初始化窗格 文档窗格 为了更加直观和清晰的分析仿真&#xff0c;会将多个元件实现的一个功能封装在一起&#xff0c;通过参数对话框窗格&#xff0c;可以使用参数、显示和动作选项板中的对话框控制设计封装对话框。如图所示&#xff1a; 参数和对话框…

Flutter笔记:关于应用程序中提交图片作为头像

Flutter笔记 关于应用程序中提交图片作为头像 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/133418554…

【数据库——MySQL】(12)过程式对象程序设计——存储过程

目录 1. 存储过程2. 局部变量3. 条件分支3.1 IF 语句3.2 CASE 语句 4. 循环语句4.1 WHILE 语句4.2 REPEAT 语句4.3 LOOP和LEAVE语句4.4 LOOP和ITERATE语句 5. 存储过程应用示例参考书籍 1. 存储过程 要创建存储过程&#xff0c;需要用到 CREATE 语句&#xff1a; CREATE PROCED…

《动手学深度学习 Pytorch版》 7.6 残差网络(ResNet)

import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l7.6.1 函数类 如果把模型看作一个函数&#xff0c;我们设计的更强大的模型则可以看作范围更大的函数。为了使函数能逐渐靠拢到最优解&#xff0c;应尽量使函数嵌套&…

web:[极客大挑战 2019]LoveSQL

题目 打开页面显示如下 查看源代码&#xff0c;查到一个check.php&#xff0c;还是get传参 尝试账号密码输入 题目名为sql&#xff0c;用万能密码 1or 11# 或 admin or 11 给了一段乱码&#xff0c;也不是flag 查看字段数 /check.php?usernameadmin order by 3%23&pass…

PDF文件超出上传大小?三分钟学会PDF压缩

PDF作为一种流行的文档格式&#xff0c;被广泛用于各种场合&#xff0c;然而有时候PDF文件的大小超出了上传限制&#xff0c;这时候我们就需要采取一些措施来减小PDF文件的大小&#xff0c;下面就给大家分享几个方法&#xff0c;一起来学习下吧~ 方法一&#xff1a;嗨格式压缩大…

Acer宏碁笔记本暗影骑士轻刃AN715-51原装出厂Windows10系统工厂模式镜像

系统自带所有驱动、NITROSENSE风扇键盘灯控制中心、Office办公软件、出厂主题壁纸、系统属性Acer宏基专属的LOGO标志、 Acer Care Center、Quick Access等预装程序 下载链接&#xff1a;https://pan.baidu.com/s/1FDCP5EONlk0o12CYFXbhrg?pwdvazt 所需要工具&#xff1a;32G…

uni-app 实现凸起的 tabbar 底部导航栏

效果图 在 pages.json 中设置隐藏自带的 tabbar 导航栏 "custom": true, // 开启自定义tabBar(不填每次原来的tabbar在重新加载时都回闪现) 新建一个 custom-tabbar.vue 自定义组件页面 custom-tabbar.vue <!-- 自定义底部导航栏 --> <template><v…

网络基础(了解网络知识的前提)

前言 在正式学习网络之前&#xff0c;我们需要了解的一些关于计算机网络的基本知识&#xff0c;本文主要阐述这些基本知识&#xff0c;带着大家一步一步迈进互联网网络的世界&#xff1b; 一、局域网与广域网的概念 在正式了解这些概念的前提是我们要搞懂网络出现的意义&#x…

Uniapp实现APP云打包

一. 基础配置 二. APP图标配置 1. 点击浏览 选取图标(注&#xff1a;图片格式为png) 2. 点击自动生成所有图标并替换 三. 点击发行 并选择云打包 四. 去开发者中心获取证书 我这里是已经获取好的&#xff0c;没有获取的话&#xff0c;按照提示获取即可&#xff0c;非常简单…

Ubuntu系统Linux内核安装和使用

安装&#xff1a; 检查树莓派Linux版本&#xff0c;我的是6.1 uname -r 内核下载链接&#xff1a; Raspberry Pi GitHub 找对应版本下载 导入之后&#xff0c;解压安装即可 unzip linux-rpi-6.1.y.zip 其他内容 treee 指令安装 sudo apt-get install tree 使用这…

【ICCV 2023 Oral】High-Quality Entity Segmentation分享

为什么会看这篇文章呢&#xff1f;因为要搞所谓分割大模型&#xff0c;为什么要搞分割大模型&#xff0c;因为最终我们要搞得是&#xff0c;业内领先的全自动标注系统。&#xff08;标完都不需要人工再修正&#xff01;&#xff01;&#xff01;&#xff09; OK&#xff0c;仰…

JavaScript系列从入门到精通系列第十篇:JavaScript中的相等运算符与条件运算符

文章目录 一&#xff1a;相等运算符 1&#xff1a; 2&#xff1a;! 3&#xff1a;与! (一)&#xff1a; (二)&#xff1a;! 二&#xff1a;条件运算符 1&#xff1a;语法 2&#xff1a;使用 3&#xff1a;容易挨打的写法 一&#xff1a;相等运算符 用于比较两个值是…

No151.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…