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

docker 安装 redis 详解

        在平常的开发工作中,我们经常会用到 redis,那么 docker 下应该如何安装 redis 呢?简单来说:第一步:拉取redis镜像;第二步:设置 redis.conf 配置文件;第三步:编写 docker-compose.yml文件,启动 redis;第四步:测试 redis。

        1:拉取 redis 镜像:docker  pull  redis:版本号

        根据自己的需求,拉取合适的redis版本,如果 docker pull redis 命令,后面不写版本号,那么默认拉取最新的 redis 镜像。拉取完成后,可以使用 docker images 命令查看拉取到的镜像,redis镜像如下:

        

        注意:如果拉取镜像失败,可能是 docker 配置文件的问题。在 /etc/docker/ 目录下,修改 daemon.json 文件中的配置的镜像加速器。镜像加速器网上搜索很多,尝试修改配置,修改完后一定要重启docker服务,不然不生效。重启 docker 命令:systemctl restart docker

        2:创建挂载目录,并设置 redis.conf 文件

        1)创建挂载目录

              mkdir  -p  /docker/redis/conf/ 

              mkdir  -p  /docker/redis/data/

        2)设置 redis.conf 配置文件

              在 /docker/redis/conf/ 目录下 新建 redis.conf 文件,设置文件内容如下:

# redis 配置# 端口
port 6379# tcp-backlog 表示 TCP 的监听队列长度。
# 当 Redis 服务器监听客户端的连接请求时,操作系统会维护一个等待连接的队列,tcp-backlog 的值决定了这个队列的长度。
# 在上述配置中,将该队列长度设置为 511,表示 Redis 服务器在监听客户端连接时,操作系统的 TCP 连接队列最多可容纳 511 个等待处理的连接请求。
tcp-backlog 511# 当设置为 0 时,表示 Redis 服务器不会因为客户端处于空闲状态而自动断开连接。
# 即只要客户端建立了与 Redis 服务器的连接,无论该客户端是否发送请求,服务器都不会主动关闭连接,即使该客户端长时间处于不活动状态。
timeout 0# tcp-keepalive 表示 TCP 保活机制的时间间隔,单位是秒。
# 当 Redis 服务器与客户端建立 TCP 连接后,会在连接处于空闲状态一段时间后发送保活探测包,以确保连接的有效性。
# 在上述配置中,设置为 300 秒,表示 Redis 服务器会在客户端连接空闲 300 秒后,向客户端发送保活探测包。
tcp-keepalive 300# 当设置为 no 时,表示 Redis 服务器不会以守护进程(daemon)的模式运行。
# 守护进程是一种在后台运行的进程,通常不与用户进行交互,并且在后台持续运行,不占用终端会话。
daemonize no# Note that on modern Linux systems "/run/redis.pid" is more conforming
# and should be used instead.
pidfile /var/run/redis_6379.pid# 控制 Redis 服务器的日志记录级别。
loglevel notice# 该配置指定了 Redis 服务器将日志信息存储在 /data/redis.log 文件中。
# 当 Redis 服务器运行时,会将产生的日志信息(如错误信息、操作信息等)按照 loglevel 所设定的级别写入到 /data/redis.log 文件中。
logfile "/data/redis.log"# 主要用于设置 Redis 服务器内部可用的数据库数量。
# Redis 支持多个数据库,这些数据库在内部以数字编号,从 0 开始。
# 该配置项表示 Redis 服务器内部将创建 16 个不同的数据库,编号为 0 到 15。
databases 16always-show-logo no# 主要用于控制 Redis 服务器在后台保存操作(BGSAVE)出现错误时的行为。
# 当设置为 yes 时,如果 Redis 在执行后台保存操作(BGSAVE)出现错误,Redis 服务器将停止接受写操作(如 SET, HSET, LPUSH 等)。
stop-writes-on-bgsave-error yes# 主要用于控制 Redis 的 RDB 文件的压缩功能。
# 当设置为 yes 时,Redis 在生成 RDB 文件(Redis 数据库的快照文件,用于数据持久化)时,会对文件进行压缩。
rdbcompression yes# 主要用于控制 Redis 在生成和加载 RDB 文件时是否包含校验和信息。
# 当设置为 yes 时,Redis 在生成 RDB 文件(用于持久化存储 Redis 数据库状态的文件)时,会在文件末尾添加一个校验和。
rdbchecksum yes# 主要用于指定 Redis 进行 RDB 持久化时生成的文件名称。
# 当 Redis 进行 RDB 持久化操作(例如使用 SAVE 或 BGSAVE 命令)时,会将当前 Redis 数据库的状态存储在一个文件中。
# 该配置项指定这个文件的名称为 dump.rdb。
dbfilename dump.rdb# Redis 在某些同步操作时对 RDB 文件的处理方式。
# 当设置为 no 时,Redis 在执行某些同步操作(如 RDB 文件的复制、同步等)时,不会主动删除同步过的 RDB 文件。
rdb-del-sync-files nodir /data# 当该配置设置为 yes 时,表示副本服务器(replica)在某些情况下会继续为客户端提供陈旧的数据服务。
# 具体来说,当副本服务器与主服务器的同步出现问题(如网络故障、主服务器宕机、复制链路中断等),导致副本服务器无法从主服务器更新最新的数据时,
# 它不会拒绝客户端的读请求,而是继续使用它最后一次同步得到的数据为客户端提供服务。
replica-serve-stale-data yes# 当设置为 yes 时,表示 Redis 副本服务器只能处理读操作,而不允许执行写操作。
# 例如,用户试图在副本服务器上执行写操作,如 SET key value、HSET hash_key field value 等命令时,
# Redis 副本服务器会拒绝执行这些命令并返回错误信息。
replica-read-only yes# 该配置项位于 Redis 的配置文件中,用于控制 Redis 在主从复制时的同步方式
# 当设置为 no(默认状态)时,Redis 主服务器在进行复制操作时,会先将数据存储在磁盘上的 RDB 文件中,然后将该文件传输给副本服务器
# 在这种模式下,主服务器不会将 RDB 文件存储在磁盘上,而是直接通过网络将内存中的数据快照发送给副本服务器。
# 这样可以减少磁盘 I/O,提高复制的速度,尤其适用于主服务器磁盘 I/O 是性能瓶颈的场景。
repl-diskless-sync no# repl-diskless-sync 被设置为 yes 时,主服务器会采用无盘复制的方式将数据同步到副本服务器。
# repl-diskless-sync-delay 则表示在开始无盘同步操作之前,主服务器会等待的时间(单位:秒)。在上述示例中,主服务器会等待 5 秒钟。
repl-diskless-sync-delay 5# 主要用于控制 Redis 副本服务器在进行无盘复制时的加载方式。
# 当设置为 disabled 时,表示 Redis 副本服务器在进行无盘复制(即从主服务器接收内存快照而非从磁盘加载 RDB 文件)时,使用默认的加载方式。
repl-diskless-load disabled# 主要用于控制 Redis 主从复制过程中的 TCP 数据传输方式。
# 当设置为 no 时,表示 Redis 在主从复制过程中,不会禁用 TCP_NODELAY 选项。
repl-disable-tcp-nodelay no# 主要用于确定 Redis 副本服务器在主从复制架构中的优先级。
# 该配置项的值表示 Redis 副本服务器的优先级
replica-priority 100# 主要用于控制 Redis 的 ACL(访问控制列表)日志的最大长度。
acllog-max-len 128# 设置密码
requirepass your_password# 主要涉及 Redis 的键删除操作和复制操作的行为,用于控制 Redis 在执行某些关键操作时是否采用阻塞式或非阻塞式(懒删除)的处理方式。
# 这些配置项都设置为 no 时,Redis 在执行相应操作(内存驱逐、删除过期键、执行会替换旧键的操作以及副本服务器全量同步时的数据库清空操作)时,
# 会采用阻塞式的删除方式,可能会导致服务器在处理一些耗时较长的删除操作时出现性能下降,因为会暂停对其他命令的处理。
# 而将这些配置项设置为 yes 则可以将这些操作改为非阻塞式(如使用 UNLINK 命令),使 Redis 可以在后台渐进式地处理删除操作,提高性能,
# 但会增加后台资源的消耗,并且可能会在一定程度上影响数据一致性,需要根据具体的性能需求和数据一致性要求来合理配置。
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no# 主要用于控制 Redis 在执行用户删除操作时是否使用惰性删除。
# 当设置为 no 时,表示 Redis 在执行用户发起的删除操作(例如 DEL 命令)时,会同步删除相关数据,即立即释放内存。
lazyfree-lazy-user-del no# 该配置项用于调整 Redis 进程的 oom_score_adj 值,该值决定了在系统内存不足(OOM,Out of Memory)时,
# Redis 进程被 Linux 系统的 OOM Killer 选中终止的可能性。
oom-score-adj no# 主要与 Redis 进程在不同状态下的 oom_score_adj 值有关,该值影响 Linux 系统在内存不足(OOM,Out of Memory)时选择哪些进程终止以释放内存。
# 第一个值(这里是 0)通常表示 Redis 进程在正常状态下的 oom_score_adj 值。
# 第二个值(这里是 200)表示 Redis 进程在某种特定状态下(例如处于高负载、高内存使用或其他预定义的状态)的 oom_score_adj 值。
# 第三个值(这里是 800)表示 Redis 进程在另一种更严重的状态下(例如处于严重内存压力或其他临界状态)的 oom_score_adj 值。
oom-score-adj-values 0 200 800# disable-thp no# 主要用于开启 Redis 的 AOF(Append Only File)持久化模式。
# 当设置为 yes 时,表示 Redis 会使用 AOF 持久化机制将写操作追加到文件末尾,以实现数据的持久化存储
appendonly yes# The name of the append only file (default: "appendonly.aof")appendfilename "appendonly.aof"# appendfsync always
appendfsync everysec
# appendfsync no# 主要用于控制 Redis 在进行 AOF 文件重写时的同步行为
# 当设置为 no 时,表示 Redis 在进行 AOF 文件重写(bgrewriteaof)时,会继续将新的写操作同步到 AOF 文件中
no-appendfsync-on-rewrite no# 该配置项表示 AOF 文件大小的增长百分比。
# 当 AOF 文件的大小相对于上一次重写后的大小增长了 100% 时,Redis 会触发 AOF 文件的自动重写操作。
auto-aof-rewrite-percentage 100# 该配置项设定了 AOF 文件触发自动重写的最小文件大小。
# 即使 auto-aof-rewrite-percentage 条件满足,但如果 AOF 文件的大小未达到 64mb,Redis 也不会触发自动重写操作。
auto-aof-rewrite-min-size 64mb# 主要用于控制 Redis 在加载 AOF(Append Only File)文件时,遇到截断(truncated)情况的处理方式
# 当设置为 yes 时,表示 Redis 在加载 AOF 文件时,如果发现文件被截断(可能是由于系统崩溃、磁盘故障等导致文件不完整),
# 会尝试继续加载文件的剩余部分,并向用户发出日志信息和警告,而不是直接拒绝加载
aof-load-truncated yes# 主要用于控制 Redis 的 AOF(Append Only File)文件的存储格式
# 当设置为 yes 时,表示 Redis 的 AOF 文件将使用 RDB 前置格式
aof-use-rdb-preamble yes# 主要用于控制 Redis 中 Lua 脚本的执行时间限制
# 该配置项指定了 Redis 中 Lua 脚本的最大执行时间,单位为毫秒
lua-time-limit 5000# cluster-enabled yes# cluster-config-file nodes-6379.conf# cluster-node-timeout 15000# 主要用于控制 Redis 服务器对慢查询的记录阈值
# 当 Redis 执行一个命令的时间超过该阈值时,这个命令会被记录到慢日志(slow log)中
slowlog-log-slower-than 10000# 主要用于控制 Redis 服务器的慢日志(Slow Log)的最大长度
slowlog-max-len 128# 主要用于控制 Redis 的延迟监控功能的启用阈值
# 
latency-monitor-threshold 0notify-keyspace-events ""# 该配置项指定了使用 ziplist 存储哈希表时,哈希表元素的最大条目数
hash-max-ziplist-entries 512
# 该配置项指定了使用 ziplist 存储哈希表时,哈希表元素的最大字节大小
hash-max-ziplist-value 64# 该配置项用于指定 Redis 列表使用 ziplist 存储时的大小限制
# 当设置为 -2 时,表示 Redis 会根据列表的长度来决定 ziplist 的大小限制
list-max-ziplist-size -2# 该配置项指定了 Redis 列表的压缩深度
list-compress-depth 0# 该配置项指定了 Redis 集合在使用整数集合(intset)存储结构时的最大元素数量
set-max-intset-entries 512# 该配置项指定了 Redis 有序集合在使用 ziplist 存储结构时的最大元素数
zset-max-ziplist-entries 128
# 该配置项指定了 Redis 有序集合在使用 ziplist 存储结构时,元素的最大字节大小
zset-max-ziplist-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4096
stream-node-max-entries 100activerehashing yes# 控制 Redis 服务器为不同类型客户端分配的输出缓冲区的大小限制及相关处理策略
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60hz 10dynamic-hz yesaof-rewrite-incremental-fsync yesrdb-save-incremental-fsync yes# Enabled active defragmentation
# activedefrag no# Minimum amount of fragmentation waste to start active defrag
# active-defrag-ignore-bytes 100mb# Minimum percentage of fragmentation to start active defrag
# active-defrag-threshold-lower 10# Maximum percentage of fragmentation at which we use maximum effort
# active-defrag-threshold-upper 100# Minimal effort for defrag in CPU percentage, to be used when the lower
# threshold is reached
# active-defrag-cycle-min 1# Maximal effort for defrag in CPU percentage, to be used when the upper
# threshold is reached
# active-defrag-cycle-max 25# Maximum number of set/hash/zset/list fields that will be processed from
# the main dictionary scan
# active-defrag-max-scan-fields 1000# Jemalloc background thread for purging will be enabled by default
jemalloc-bg-thread yes# Ending
        3:启动 redis,docker compose up -d  redis

        新建docker-compose.yml 文件,设置内容如下:

version: '3'
services:redis:image: redis:6.2.6container_name: redis6.2.6## 设置持久化,允许远程访问,密码等command: redis-server --appendonly yes --bind 0.0.0.0 --requirepass your_passwordports:- 6379:6379volumes:# - ./data/:/data- /docker/redis/conf/redis.conf:/etc/redis/redis.conf - /docker/redis/data:/dataenvironment:- TZ=Asia/Shanghairestart: always# 获取宿主机 root 权限privileged: true# # 设置容器网络为本机网络network_mode: "host"

        使用 docker compose up -d  redis 命令启动redis,启动完成后,可以使用 docker  ps 查看启动状态。如果启动失败,可以通过 docker  logs  容器id 或者  docker logs  容器名称 查看redis日志。启动完成后,查看如下:

        注意:如果修改了 redis.conf 配置文件,则需要先停止redis容器,再删除redis容器,然后重新启动redis,主要命令如下:

        a:停止 nginx 容器:docker  stop  nginx 容器id /  容器名称

        b:删除 nginx 容器:docker rm  容器id /  容器名称

        c:启动 nginx 容器:docker compose up -d  nginx

        4:测试 redis

        使用客户端连接工具,进行连接,测试如下:

        

        以上为 docker 下安装 redis 的基本步骤,一定要 注意 redis.conf 配置文件的挂载目录。我们只有不断地学习,才能遇见更好的自己。加油!美好的风景一直在路上!

      

相关文章:

docker 安装 redis 详解

在平常的开发工作中,我们经常会用到 redis,那么 docker 下应该如何安装 redis 呢?简单来说:第一步:拉取redis镜像;第二步:设置 redis.conf 配置文件;第三步:编写 docker-…...

《探秘鸿蒙Next:人工智能助力元宇宙高效渲染新征程》

在元宇宙的宏大愿景中,高效的渲染技术是构建沉浸式虚拟世界的关键。鸿蒙Next凭借与人工智能的深度融合,为元宇宙的渲染带来了全新的解决方案和无限可能。 智能场景分析与优化 人工智能能够对元宇宙场景进行智能分析。鸿蒙Next可以利用AI技术对场景中的…...

nginx分发请求超时切换服务

nginx的upstream模块实现超时自动切换服务 upstream testfail {server 192.168.1.218 max_fails1 fail_timeout10s;server 192.168.1.129 max_fails1 fail_timeout10s;} max_fails代表失败尝试次数,达到设置的次数则视为该服务不可用, fail_timeout代…...

vulfocus/fastjson-cnvd_2017_02833复现

漏洞概述 Fastjson 是阿里巴巴开发的一个高性能的 Java 库,用于将 Java 对象转换成 JSON 格式(序列化),以及将 JSON 字符串转换回 Java 对象(反序列化)。 fastjson在解析json的过程中,支持使用type字段来指…...

.Net Core微服务入门全纪录(五)——Ocelot-API网关(下)

系列文章目录 1、.Net Core微服务入门系列(一)——项目搭建 2、.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上) 3、.Net Core微服务入门全纪录(三)——Consul-服务注…...

OpenCV imread函数读取图像__实例详解

OpenCV imread函数读取图像__实例详解 本文目录: 零、时光宝盒 一、imread函数定义 二、imread函数支持的文件格式 三、imread函数flags参数详解 (3.1)、Flags-1时,样返回加载的图像(使用alpha通道,否…...

GPSd定时检测保活TCP GPS源

为了在 TCP GPS 源丢失连接时自动重新连接,可以编写一个监控脚本,定期检查 gpspipe 输出中的 TCP 源数据是否存在。如果检测到丢失,则使用 gpsdctl 或直接命令重新添加 TCP 源。 1、工具 检查并安装必要工具,本例需要使用 gpspi…...

得物App亮相第七届进博会,科技赋能打造消费新热点

在2024年11月5日至11月10日举办的第七届进博会舞台上,上海交易团虹口分团表现亮眼,其中得物作为来自虹口品质电商的践行者,备受众多参观者关注。 上海得物信息集团有限公司自2015年于上海虹口创立以来,始终坚守“满足年轻人对美好…...

单片机内存管理剖析

一、概述 在单片机系统中,内存资源通常是有限的,因此高效的内存管理至关重要。合理地分配和使用内存可以提高系统的性能和稳定性,避免内存泄漏和碎片化问题。单片机的内存主要包括程序存储器(如 Flash)和数据存储器&a…...

用Python绘制一只懒羊羊

目录 一、准备工作 二、Turtle库简介 三、绘制懒羊羊的步骤 1. 导入Turtle库并设置画布 2. 绘制头部 3. 绘制眼睛 4. 绘制嘴巴 5. 绘制身体 6. 绘制四肢 7. 完成绘制 五、运行代码与结果展示 六、总结 在这个趣味盎然的技术实践中,我们将使用Python和Turtle图形…...

Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型

大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标签文本进行训练,是深度学习之后的又一大人工智能技术革命。 大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年…...

神经网络梯度爆炸的原因及解决方案

在深度学习中,梯度爆炸(gradient exploding)是一种常见的训练问题,尤其是在深层神经网络中。梯度爆炸指的是在反向传播过程中,梯度值呈指数级增长,导致网络权重的大幅更新,从而使得网络变得不稳…...

WPS不登录无法使用基本功能的解决方案

前言 WPS不登录无法使用基本功能的原因通常是为了同步数据、提供更多高级功能或满足软件授权要求。‌然而,一些用户可能出于隐私或便捷性的考虑,不愿意登录账号。在这种情况下,WPS可能会限制未登录用户的使用权限,导致工具栏变灰…...

蓝桥杯lesson3---string的使用

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” string的概念 string字符串是一种更加高级的封装,string字符串中包含了大量的方法,这些方法使得字符串的操作变得更加简单,string的使用&…...

Java设计模式 三 工厂方法模式 (Factory Method Pattern)

工厂方法模式 (Factory Method Pattern) 是一种常见的创建型设计模式,旨在通过定义一个接口来创建对象,而将实例化对象的具体类延迟到子类中。工厂方法模式允许客户端通过工厂方法来创建对象,而不需要直接调用构造函数,这样可以减…...

日志收集Day005

1.filebeat的input类型之filestream实战案例: 在7.16版本中已经弃用log类型,之后需要使用filebeat,与log不同,filebeat的message无需设置就是顶级字段 1.1简单使用: filebeat.inputs: - type: filestreamenabled: truepaths:- /tmp/myfilestream01.lo…...

java开发,IDEA转战VSCODE配置(mac)

一、基本java开发环境配置 前提:已经安装了jdk、maven、vscode,且配置了环境变量 1、安装java相关的插件 2、安装spring相关的插件 3、vscode配置maven环境 打开 VsCode -> 首选项 -> 设置,也可以在setting.json文件中直接编辑&…...

Effective C++读书笔记——item23(用非成员,非友元函数取代成员函数)

一、主要观点: 在某些情况下,使用 non-member、non-friend 函数来替换 member 函数可以增强封装性和可扩展性,提供更好的软件设计。 二、详细解释: 封装性: 类成员函数的封装性考量:成员函数可以访问类的…...

(3)STM32 USB设备开发-USB存储设备

例程:STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为使用芯片内部flash作为USB存储设备的例程,没有知识,全是实操,按照步骤就能获得一个STM32的U盘。本例子是在野火F103MINI开发板上验证的,如果代码…...

考研408笔记之数据结构(五)——图

数据结构(五)——图 1. 图的基本概念 1.1 图的定义 1.2 有向图和无向图 在有向图中,使用圆括号表示一条边,圆括号里元素位置互换没有影响。 在无向图中,使用尖括号表示一条边,尖括号里元素位置互换则表示…...

【博客之星】年度总结:在云影与墨香中探寻成长的足迹

🐇明明跟你说过:个人主页 🔖行路有良友,便是天堂🔖 目录 一、年度回顾 1、创作历程 2、个人成长 3、个人生活与博客事业 二、技术总结 1、赛道选择 2、技术工具 3、实战项目 三、前景与展望 1、云原生未来…...

springboot 调用 c++生成的so库文件

一、创建c文件 SoTest.h #pragma once class SoTest {int Add(int a,int b); };SoTest.cpp #include "SoTest.h"int SoTest::Add(int a, int b) {return a b; }二、创建so文件 /home/ubuntu/projects/SoTest/bin/x64/Debug/libSoTest.so 三、java代码 Maven依…...

简识JVM栈帧中的操作数栈

在JVM(Java虚拟机)中,栈帧(Stack Frame)是方法执行时的数据结构,用于存储局部变量、操作数栈、方法返回地址等信息。 其中,操作数栈(Operand Stack)是栈帧中的一个重要组…...

在 Kubernetes 上快速安装 KubeSphere v4.1.2

目录标题 安装文档配置repo安装使用插件 安装文档 在 Kubernetes 上快速安装 KubeSphere 配置repo export https_proxy10.10.x.x:7890 helm repo add stable https://charts.helm.sh/stable helm repo update安装 helm upgrade --install -n kubesphere-system --create-name…...

腾讯 Hunyuan3D-2: 高分辨率3D 资产生成

腾讯 Hunyuan3D-2:高分辨率 3D 资产生成的突破 前言 在当今数字化时代,3D 资产生成技术正变得越来越重要。无论是游戏开发、影视制作还是虚拟现实领域,高质量的 3D 模型和纹理都是创造沉浸式体验的关键。然而,传统的 3D 资产制作…...

论文阅读--Qwen22.5技术报告

Qwen2 1 引言 所有模型都是在超过7 trillion token(7万亿)的高质量、大规模数据集上预训练的 2 Tokenizer & Model 2.1 Tokenizer 沿用Qwen(Bai等人,2023a)的做法,我们采用了基于字节级字节对编码…...

python如何导出数据到excel文件

python导出数据到excel文件的方法: 1、调用Workbook()对象中的add_sheet()方法 wb xlwt.Workbook() ws wb.add_sheet(A Test Sheet) 2、通过add_sheet()方法中的write()函数将数据写入到excel中,然后使用save()函数保存excel文件 ws.write(0, 0, 1234…...

pyhton学习笔记(三)

目录 1.变量 2.变量的命名规则 3.常用函数汇总 4.常用数据类型汇总 5.算术运算符 6.比较运算符和逻辑运算符 7.常见的三种格式化输出方法 8.分支语句 1.变量 变量就是可以变化的量,可以理解为是一个存储东西的盒子,盒子里面可以放一些程序里需要…...

时间类型数据处理:基于Python的datetime库和pandas库

一、datetime库常用方法 日期的数据类型主要有两种:一是包含时间的datetime类型,二是不包含时间的date类型。这里的时间指具体的时、分、秒、甚至毫秒。 1、自定义日期、时间、获取本地时间、获取本地日期、获取年份、月份、月号、小时、分钟、秒、星期…...

CPU 缓存基础知识

并发编程首先需要简单了解下现代CPU相关知识。通过一些简单的图,简单的代码,来认识CPU以及一些常见的问题。 目录 CPU存储与缓存的引入常见的三级缓存结构缓存一致性协议MESI协议缓存行 cache line 通过代码实例认识缓存行的重要性 CPU指令的乱序执行通过…...

vue3 中如何监听 props 中的值的变化

在 Vue 3 中,你可以使用 watch 函数来监听组件的 props 值的变化。watch 函数允许你观察一个或多个响应式数据源,并在这些数据源发生变化时执行回调函数。 以下是一个示例,展示了如何在 Vue 3 中使用 watch 来监听 props 中的值的变化&#…...

煤矿场景下矿工行为检测数据集VOC+YOLO格式24709张8类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):24709 标注数量(xml文件个数):24709 标注数量(txt文件个数):2470…...

Git处理冲突详解

文章目录 Git处理冲突详解一、引言二、冲突产生的原因三、解决冲突的步骤1. 手动解决冲突1.1 查看冲突文件1.2 编辑冲突文件1.3 提交解决冲突 2. 使用合并工具解决冲突 四、使用示例五、总结 Git处理冲突详解 一、引言 在团队协作开发中,Git冲突是不可避免的。当多…...

Jetson Orin Nano Super之jetson-fpv开源代码下载

Jetson Orin Nano Super之jetson-fpv开源代码下载 1. 源由2. 方法2.1 优化配置方案一:增加缓冲方案二:降低并发数方案三:临时禁用深度克隆 2.2 路径更换方案一:设置代理方案二:替换git协议方案三:替换https…...

gitlab使用多数据库

1. 说明 默认情况下,GitLab 使用一个单一的应用数据库,称为主数据库。为了扩展 GitLab,您可以将 GitLab 配置为使用多个应用数据库。 设置多个数据库后,GitLab 将使用第二个应用数据库用于 CI/CD 功能,称为 CI 数据库…...

【Redis】事务

前言: 对比MySQL事务:【MySQL篇】事务的认识以及四大特性-CSDN博客 弱化的原子性: redis 没有 "回滚机制". 只能做到这些操作 "批量执行". 不能做到 "一个失败就恢复到初始状态". 不保证一致性: 不涉及 "约束". 也没有…...

在vue3中使用datav完整引入时卡在加载页面的解决方法

文件修改 文件:node_modules/dataview\datav-vue3/package.json // "module": "./es/index.js","module": "./es/index.mjs", // 修改后使用完整引入,需要为datav配置文件添加相应方法 文件:node…...

WPA_cli P2P命令详解及使用

目录 通用命令 status scan scan_results add_network set_network enable_network reconfigure save_config quit P2P 相关命令 p2p_find p2p_peers p2p_connect [method] p2p_group_add [ssid=] [freq=] [ht40] [persistent] p2p_remove_client p2p_di…...

Kubernetes v1.28.0安装dashboard v2.6.1(k8s图形化操作界面)

准备工作 Kubernetes v1.28.0搭建教程请参考:Kubernetes v1.28.0集群快速搭建教程-CSDN博客 查看当前集群nodes都是ready状态 查看当前pods都是running状态 下载并修改配置文件 下载 recommended.yaml ,下载好之后,进入文件编辑 下载地址…...

性能测试监控与诊断

我们依据一个HTTP请求处理的过程,采用主流的J2EE技术栈,如下图所示 1>用户的请求通过网卡传送到服务器(中断信号),用户与服务器简历TCP/IP链接。也就是产说的TCP三次握手。既然是链接,就有限制&#xff…...

窥探QCC518x-308x系列与手机之间的蓝牙HCI记录与分析 - 耳机篇

上一篇是介绍如何窥探手机端Bluetooth的HCI log, 本次介绍是如何窥探Bluetooth的HCI log-耳机篇. 这次跟QCC518x/QCC308x测试的手机是Samsung S23 Ultra. QCC518x/QCC308x透过HCI界面取得Log教学. 步骤1: 开启QMDE -> 选择ADK r1102 QCC3083 Headset workspace.步骤2: 点…...

Numpy基础02(Numpy对数组的基本操作)

Numpy的基本操作 2.3.1 ndarray索引操作 一维数组:同一维列表大致相同 n np.array([1, 2, 3, 4, 5]) n[0], n[-1] #(1, 5)多维数组 n np.random.randint(0, 10, size(3, 4, 5)) print(n) # 访问最后一个元素并改为66 n[2,3,-1] 66 print(n)# 最后一行元素并…...

WPS计算机二级•幻灯片的基础操作

听说这是目录哦 PPT的正确制作步骤🛣️认识PPT界面布局🏜️PPT基础操作 快捷键🏞️制作PPT时 常用的快捷技巧🏙️快速替换PPT的 文本字体🌃快速替换PPT 指定文本内容🌅能量站😚 PPT的正确制作步…...

蓝桥杯准备 【入门1】顺序结构

P5705 【深基2.例7】数字反转 题目描述 输入一个不小于 100100 且小于 10001000,同时包括小数点后一位的一个浮点数,例如 123.4123.4 ,要求把这个数字翻转过来,变成 4.3214.321 并输出。 解题思路:使用字符串比较简单…...

Java学习笔记(二十四)

1 策略模式 1.1 策略模式概述 策略模式(Strategy Pattern) 是一种行为设计模式,定义了一系列算法,并将它们封装成独立的类,使它们可以互相替换而不会影响使用它们的客户端代码。 策略模式的核心思想是将行为与环境解…...

React进阶之高阶组件HOC、react hooks、自定义hooks

React高级 高阶组件 HOC属性代理反向继承属性代理和反向继承的区别实例实例一实例二 HooksHooks APIuseState:useEffect:useLayoutEffect:useRef:useContext:useReducer:useMemouseCallback 自定义Hooks 拓展&#xff…...

在亚马逊云科技上高效蒸馏低成本、高精度的Llama 3.1 405B模型(上篇)

在2024年的亚马逊云科技re:Invent全球云计算春晚里,亚马逊云科技CEO - Matt Garman介绍了亚马逊云科技的AI模型托管平台Amazon Bedrock上的模型蒸馏服务Model Distillation,令小李哥印象十分深刻。该功能可自动化地为特定场景的知识创建一个蒸馏模型。它…...

算法基础 -- 红黑树初识

红黑树初识 红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它通过对每个节点增加颜色属性,以及在插入和删除节点时使用特定规则调整树结构来保持平衡。红黑树的特点是,在任何情况下,其树高都可以保持在…...

TTL 在 Redis 缓存中的作用

Redis TTL(Time To Live)与缓存的关系 TTL(Time To Live,生存时间)是 Redis 提供的一种自动过期机制,用于控制键值对的存活时间。当 TTL 到期后,Redis 会自动删除该键,避免长期占用…...

利用 SAM2 模型探测卫星图像中的农田边界

将 Segment Anything Model Version 2 应用于卫星图像以检测和导出农业地区田地边界的分步教程 🌟 简介 手动绘制田地边界是最耗时的任务之一,其准确性取决于绘制者的表现。然而,精确的边界检测在很多领域都有应用。例如,假设您…...