自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 Redis 高频面试题

本文分析了Redis缓存中的三种常见问题及解决方案。缓存穿透指查询不存在的数据导致数据库压力骤增,可通过空值缓存、布隆过滤器等方法解决;缓存击穿是热点数据过期引发的高并发访问,建议预设热门数据或设置永不过期;缓存雪崩由大量key同时过期引起,采用多级缓存、分散过期时间等策略应对。三种情况都会导致数据库崩溃,但成因和应对措施各有侧重,需根据实际场景选择合适方案。

2025-07-15 17:19:18 846

原创 Redis 集群环境

Redis集群概述与操作指南 Redis集群通过数据分片和主从复制实现高可用分布式存储。集群采用哈希槽(16384个槽位)进行数据分区,支持动态扩容缩容。每个主节点配备从节点,故障时自动切换。搭建集群需配置多个节点,使用redis-cli创建集群并分配槽位。集群支持故障转移,但存在多键操作限制和潜在数据丢失风险。操作指南包括集群搭建、节点管理(添加/删除)、数据迁移等步骤,并提供了批量操作脚本示例。Redis集群适合需要水平扩展和高可用的场景,但需权衡性能与一致性。 (字数:147)

2025-07-15 17:07:29 911

原创 Redis 主从复制

为提高Redis高并发访问性能,文章介绍了主从复制架构的实现方案。通过一主多从(如6379主节点,6380/6381从节点)分担读写压力,利用sync命令实现全量同步和增量同步。详细讲解了配置步骤,包括多实例部署、slaveof命令设置,以及主从切换方法。同时引入哨兵模式(sentinel)实现自动故障转移,并分析了复制延时问题及选举策略(优先级、偏移量、runid)。该方案有效提升了Redis的可用性和扩展性,但需权衡数据一致性与性能的关系。

2025-07-15 16:20:08 583

原创 Redis 数据持久化

Redis持久化机制包含RDB和AOF两种方式。RDB通过定时快照保存数据,适合大规模数据恢复但可能丢失最后一次修改;AOF记录所有写操作命令,数据更安全但文件较大。RDB使用fork子进程和写时复制技术实现快照,AOF通过追加日志和重写机制优化文件大小。实际应用中建议混合使用RDB和AOF,既能保证数据安全又能提高恢复效率。根据业务需求选择持久化策略:对数据完整性要求不高时选择RDB,需要高可靠性时启用AOF,或两者结合使用以获得最佳效果。

2025-07-15 15:58:11 649

原创 Redis 事务管理及数据持久化

1.1 事务概念事务是指事务必须满足: ACID四个特性(原子性:例如银行转账,A 像 B 转账 100 元。转账这个操作其实包含两个离散的步骤:步骤 1:A 账户减去 100步骤 2:B 账户增加 100注意:转账这个操作是原子性的,也就是说步骤 1 和步骤 2 是顺续执行且不可被打断的,要么全部执行成功、要么执行失败1.2 redis事务特性Redis 事务不是严格意义上的事务,只是用于。单个 Redis 命令的执行是。

2025-07-15 15:25:59 673

原创 《Redis》发布和订阅

Redis发布订阅(pub/sub)是一种消息通信模式,允许发送者(pub)向频道发送消息,订阅者(sub)接收消息。常用命令包括订阅(subscribe)、退订(unsubscribe)、发布(publish)和查看状态(pubsub)等。通过示例演示可以看到,当客户端订阅某频道后,会持续接收该频道的消息,直到主动退订。该模式常用于实时通知场景,如新消息推送、订单状态更新等,可实现一对多的消息广播。Redis的发布订阅机制简单高效,是构建实时消息系统的理想选择。

2025-07-15 15:04:14 318

原创 《Reids》配置文件

Redis配置摘要:内存单位仅支持bytes,不支持bit。INCLUDES可引入额外配置文件实现个性化设置。NETWORK配置包括bind(绑定IP)、protected-mode(保护模式)、port(端口)、tcp-backlog(连接队列)、timeout(超时)和tcp-keepalive(心跳检测)。GENERAL设置日志级别、文件路径和数据库数量。SNAPSHOTTING配置RDB持久化规则、压缩和校验。SECURITY设置密码保护。CLIENTS限制最大连接数。MEMORY MANAGEME

2025-07-15 11:31:11 397

原创 Redis 介绍和部署

Redis是一款高性能键值对数据库,由Salvatore Sanfilippo于2009年开发并开源。它支持多种数据结构,具有原子性操作、持久化等特性,读写性能极高(11万次/s读,8.1万次/s写)。安装方式包括Windows MSI版和Linux源码编译安装,Linux需配置后台启动和开机自启。Redis采用单线程+多路IO复用技术实现高效处理,内存操作使其速度极快。默认16个数据库,端口6379源于开发者特殊命名。主要用作高速缓存、内存存储等场景,支持多种编程语言API。

2025-07-15 09:14:48 1038

原创 NoSQL 介绍

NoSQL数据库技术概述 NoSQL(Not Only SQL)是一类非关系型数据库,作为传统关系型数据库的补充,采用简单的key-value存储模式,具有更强的扩展能力。它的出现主要源于Web2.0时代对高并发读写、海量数据存储和高可用性的需求。NoSQL分为四大类型:键值存储(如Redis)、列存储(如HBase)、文档型(如MongoDB)和图形数据库(如Neo4j),各有其适用场景和优缺点。在分布式环境中,NoSQL遵循CAP理论(一致性、可用性、分区容错性不可兼得),多数系统选择牺牲强一致性换取可

2025-07-13 15:56:31 913

原创 《数据库》SQL优化

MySQL数据库性能优化摘要 本文介绍了MySQL数据库性能优化的关键方法。当系统数据量增长时,SQL性能问题逐渐显现,需从设计、查询、索引和存储四个维度进行优化。主要优化技巧包括:避免使用SELECT *、减少多表关联、以小表驱动大表查询、禁用模糊查询等。可通过慢查询日志和show processlist定位低效SQL,使用EXPLAIN分析执行计划,show profile追踪时间消耗。索引优化需遵循特定原则,如对分散数据建索引、控制索引数量等。架构层面建议业务拆分、引入缓存、读写分离和数据分片。这些方

2025-07-13 11:20:38 995

原创 《数据库》MySQL事务

MySQL事务详解 事务是指访问并操作数据库数据的一个工作单元,具有ACID四大特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。MySQL中只有InnoDB引擎支持事务。 事务的基本操作 开启事务:BEGIN或START TRANSACTION 提交事务:COMMIT 回滚事务:ROLLBACK 设置回滚点:SAVEPOINT 名称 事务隔离级别 MySQL提供了四种隔离级别: READ UNCOMMITTED:可能读取到未

2025-07-13 10:38:42 918

原创 《数据库》SQL编程

MySQL存储过程与函数摘要 存储过程是一组预编译的SQL语句集合,用于完成特定功能,具有复用性高、性能好、安全性强等优点,但也存在CPU/内存消耗大、维护困难等缺点。创建时需使用DELIMITER改变结束符,支持IN/OUT/INOUT参数传递,可通过CALL调用。流程控制包括IF条件判断、CASE分支和WHILE/REPEAT/LOOP循环。 触发器是一种特殊存储过程,由INSERT/UPDATE/DELETE事件自动触发,常用于数据完整性约束。通过NEW和OLD引用变更前后的数据,但需避免递归触发。

2025-07-12 11:20:50 816

原创 《数据库》索引视图

MySQL索引与视图摘要 索引本质是特殊数据结构,用于快速定位数据,以空间换时间提高查询性能。索引类型包括B+Tree(默认)、Hash等,按功能可分为普通、唯一、主键索引等。创建方法有CREATE INDEX、ALTER TABLE或建表时指定。索引虽提升查询速度,但会增加存储开销和写操作成本。 视图是虚拟表,基于查询定义,不存储数据。作用包括简化操作、数据安全和逻辑独立。创建语法为CREATE VIEW,可基于单表或多表,支持字段别名。视图更新受限于基础表条件,含聚合函数或分组的视图不可更新。视图需遵循

2025-07-12 10:41:12 374

原创 《数据库》DML与DQL

MySQL数据操作语言(DML)与数据查询语言(DQL)摘要 DML(数据操作语言)包含INSERT、UPDATE、DELETE等操作: INSERT用于插入数据,支持单条/批量插入和REPLACE(主键冲突时替换) UPDATE修改数据,需注意WHERE条件避免全表更新 DELETE删除数据,TRUNCATE快速清空表且不可回滚 DQL(数据查询语言)主要语法: 基础查询:SELECT、DISTINCT去重、AS别名 条件查询:WHERE配合比较运算符、LIKE、IN等 聚合函数:COUNT、SUM、AV

2025-07-11 16:42:02 685

原创 《数据库》DML与DQL 第三次作业

【代码】《数据库》DML与DQL 第三次作业。

2025-07-11 16:33:20 74

原创 《数据库》DML与DQL第二次作业

【代码】《数据库》DML与DQL第二次作业。

2025-07-11 16:27:31 94

原创 《数据库》MySQL备份回复

MySQL日志管理与备份策略摘要 MySQL日志系统包含多种日志类型:错误日志用于故障排查,通用查询日志记录所有SQL操作(默认关闭),慢查询日志捕捉性能问题,二进制日志支持主从复制和数据恢复,撤销/重做日志保障事务安全。日志文件位置可通过my.ini配置,动态查看使用SHOW VARIABLES命令。 备份策略分为逻辑备份(mysqldump工具)和物理备份。逻辑备份兼容性好但速度慢,适合中小数据库;物理备份速度快但灵活性低。建议采用混合策略:每周全备+每日增量备份。重点提示:二进制日志可用于灾难恢复,删

2025-07-11 16:26:52 1026

原创 《数据库》第一次作业

摘要:本文展示了mydb6_product数据库的创建与表结构设计。包含四张表:employees(员工信息)、orders(订单信息)、invoices(发票信息,含外键约束和金额检查)和products(产品信息)。其中invoices表通过外键关联orders表并设置级联删除,products表设置了自增主键和默认库存值。这些表结构体现了数据完整性约束和关联关系的设计。(150字)

2025-07-10 16:55:51 77

原创 《数据库》第一次作业:MySQL数据库账户及授权

摘要:MySQL 8.0密码策略从mysql_native_password改为更安全的caching_sha2_password,并支持强度检查插件validate_password,可设置密码长度、复杂度等规则。账户管理包括创建用户(CREATE USER)、授权(GRANT)、回收权限(REVOKE)和删除用户(DROP USER)。权限分配遵循最小化原则,建议root账户仅限本地登录,区分应用和管理账户,定期清理无用账户。通过show variables和select user查询密码策略和用户信息

2025-07-10 16:44:11 486

原创 《数据库》 MySQL库表操作

MySQL数据库基础与表操作指南 一、SQL基础与数据库操作 SQL简介:结构化查询语言,用于关系型数据库操作 SQL分类: DDL(数据定义):CREATE/DROP/ALTER等 DML(数据操作):INSERT/DELETE/UPDATE/SELECT DCL(数据控制):GRANT/REVOKE 数据库操作: 登录:mysql -u用户名 -p密码 查看数据库:SHOW DATABASES 创建数据库:CREATE DATABASE 数据库名 切换数据库:USE 数据库名 二、表结构与约束 数据类型

2025-07-10 16:35:11 442

原创 MySQL库表操作-数据库操作练习

【代码】MySQL库表操作-数据库操作练习。

2025-07-10 10:48:57 177

原创 《数据库》数据库理论

MySQL是一个开源的关系型数据库管理系统,采用单进程多线程架构,具有高性能、可移植性和多种编程语言支持等特性。其核心架构分为网络连接层、数据库服务层、存储引擎层和系统文件层四部分,支持可插拔式存储引擎设计,包括InnoDB、MyISAM等主流引擎。MySQL广泛应用于互联网公司,提供数据管理、查询优化、事务控制等功能,同时支持多种日志类型确保数据安全。作为信创计划的重要组成部分,国产数据库如华为高斯、达梦等也在快速发展。MySQL通过连接池管理客户端连接,采用半双工通信机制,并支持多种数据文件和日志文件的

2025-07-10 09:59:33 760

原创 《kubernetes》k8s实战之部署PHP/JAVA网站

本文详细介绍了在Kubernetes环境中部署Harbor私有镜像仓库及PHP/Java项目的完整流程。主要内容包括: 通过Helm部署Harbor(HTTP/HTTPS两种方式),包含证书生成、NFS存储配置和StorageClass创建; PHP项目部署:构建Docker镜像、数据库配置、Deployment/Service创建及Ingress暴露; Java项目部署:Maven编译、镜像构建、数据库准备及K8s资源编排; 私有镜像仓库的使用方法,包括容器运行时配置和K8s集群认证设置。 整个过程涵盖了

2025-07-06 16:39:32 1044

原创 《kubernetes》高可用集群

本文详细介绍了Kubernetes高可用集群的两种部署拓扑:堆叠式etcd拓扑和外部etcd拓扑。堆叠式拓扑将etcd与控制平面节点耦合,部署简单但存在耦合风险;外部etcd拓扑解耦了etcd与控制平面,可靠性更高但需要更多主机资源。文章提供了从环境规划、软件安装、负载均衡配置到集群初始化的完整部署流程,包括使用keepalived+haproxy实现apiserver高可用、cri-dockerd容器运行时安装、Calico网络插件部署等关键步骤。最后通过etcdctl工具验证了集群状态,展示了三主节点的

2025-07-06 11:38:05 639

原创 《kubernetes》核心技术-Helm

Helm:Kubernetes的包管理工具 Helm是Kubernetes的包管理工具,用于简化应用的部署和管理。它解决了复杂应用中多资源文件管理、复用和版本控制的问题。Helm通过Chart(应用描述文件集合)和Release(部署实体)实现应用的整体管理。 核心功能 整体管理:将多个K8S资源文件作为统一单元管理 高效复用:通过模板和变量实现配置复用 版本控制:支持应用级别的发布、回滚和版本管理 安装与使用 下载并安装Helm客户端 配置国内Chart仓库(如微软、阿里云仓库) 基本命令: helm i

2025-07-05 12:00:15 816

原创 《kubernetes》Prometheus监控

本文介绍了在Kubernetes集群中部署Prometheus+Grafana监控系统的完整方案。主要内容包括:1)Prometheus监控系统架构及组件解析,包括server、node_exporter等;2)详细部署步骤:创建Prometheus Deployment/Service/ConfigMap/RBAC,部署Node_exporter DaemonSet,安装Grafana可视化组件;3)配置验证,通过NodePort访问Prometheus(9090端口)和Grafana(3000端口);

2025-07-01 20:59:37 1014

原创 《kubernetes》DashBoard + 安全认证

本文摘要: Kubernetes Dashboard部署与安全认证指南: Dashboard部署:通过yaml文件部署Dashboard UI,修改服务类型为NodePort并创建访问账户,获取访问令牌完成登录。 安全认证机制:包括认证(HTTP Base/Token/HTTPS证书)、授权(RBAC)和准入控制三部分。重点介绍了基于角色的访问控制(RBAC),演示了如何创建只管理dev命名空间Pods资源的账号。 实践操作:从证书生成、角色绑定到权限验证,完整展示了RBAC授权流程。最后介绍了准入控制器的

2025-07-01 17:48:56 645

原创 《kubernetes》数据存储

Kubernetes存储方案详解 本文系统介绍了Kubernetes中的存储解决方案,包括基础存储和高级存储两大部分。 基础存储部分详细讲解了: EmptyDir - 临时存储卷,随Pod创建销毁 HostPath - 主机目录挂载,实现数据持久化 NFS - 网络文件系统,解决节点故障时的数据持久化问题 高级存储部分重点阐述了: PV和PVC - 存储资源抽象与声明机制 StorageClass - 动态PV供应方案 生命周期管理 - 从资源供应到回收的全流程 此外还介绍了特殊存储类型: ConfigMa

2025-06-27 20:28:34 689

原创 《Kubernetes》Service 详解+Ingress

Kubernetes提供了Service和Ingress两种流量负载组件。Service用于聚合Pod并提供统一访问入口,支持ClusterIP、NodePort、LoadBalancer三种类型,通过kube-proxy实现负载均衡,有userspace、iptables和ipvs三种工作模式。Ingress作为7层负载均衡器,通过Ingress Controller(如Nginx)实现反向代理,比Service更高效地暴露多个服务。文章详细介绍了Service的类型和使用方法,以及如何部署Ingress

2025-06-27 16:47:56 765

原创 Docker 服务无法启动问题

Docker服务启动失败,建议检查系统日志排查问题。解决方案:1.修改配置文件名称(daemon.json→daemon.conf);2.若无效则删除配置文件后重启服务(rm -rf /var/lib/docker)。操作后使用systemctl start docker启动服务,并通过systemctl status docker查看状态。

2025-06-23 20:09:24 262

原创 《Kubernetes》Pod详解+Pod控制器

本文深入介绍Kubernetes中的Pod资源及其控制器: Pod详解 结构:包含用户容器和根容器(pause) 工作方式:自主式Pod和控制器管理Pod(推荐) 配置:详细解析YAML文件各字段 生命周期:创建/终止过程、5种状态 Pod调度 定向调度:NodeName/NodeSelector 亲和性调度:Node/Pod亲和性与反亲和性 污点与容忍:节点排斥机制 Pod控制器 ReplicaSet:保证副本数量 Deployment:管理ReplicaSet,支持滚动升级 StatefulSet:管理

2025-06-19 21:40:48 719

原创 《Kubernetes》 资源管理+实战

本文介绍了Kubernetes资源管理和YAML语言基础,以及三种资源管理方式(命令式对象管理、命令式对象配置、声明式对象配置)。重点讲解了Namespace、Pod、Deployment和Service等核心资源的概念与操作,包括创建、查看和删除等。通过部署Nginx服务的实战案例,演示了从Pod创建到Service暴露的完整流程。此外,还介绍了如何开启IPVS模式优化Service性能。文章为Kubernetes初学者提供了入门级指导,涵盖资源管理的基本操作和实践技巧。

2025-06-19 14:47:45 1014

原创 《k8s 部署》常见报错类型1

摘要:在CentOS7上使用kubeadm部署Kubernetes时常见两类错误:版本不兼容(如kubeadm 1.27.0无法安装1.25.4集群)和初始化预检失败(包含残留配置文件及端口冲突)。解决方案包括:1)卸载高版本并安装匹配的组件;2)彻底清理环境(kubeadm reset、删除配置文件、释放端口);3)确保CRI插件和防火墙配置正确。关键要注意保持kubeadm、kubelet和kubectl版本一致,Kubernetes 1.25+需使用containerd 1.6+并启用SystemdC

2025-06-15 14:49:46 1029

原创 Kubernetes 集群环境搭建

Kubernetes集群部署与Rancher管理平台集成指南 本文详细介绍了Kubernetes集群的规划、部署及Rancher管理平台的集成过程。主要内容包括: 环境规划:对比一主多从与多主多从集群架构,选择kubeadm部署工具和1.24.2版本K8s,规划三节点(1Master+2Node)测试集群。 系统配置:涵盖主机名解析、时间同步、防火墙/SELinux禁用、Swap分区关闭、内核升级及IPVS模块加载等关键初始化步骤。 集群部署:通过三种容器运行时(containerd/dockerd/cri

2025-06-05 20:12:59 963

原创 Shell脚本编程3(函数+正则表达式)

创建一个函数库文件的过程非常类似于编写一个Shell脚本。脚本与库文件之间的唯一区别在于函数库文件通常只包括函数,而脚本中则可以既包括函数和变量的定义,又包括可执行的代码。此处所说的可执行代码,是指位于函数外部的代码,当脚本被载入后,这些代码会立即被执行,毋需另外调用。

2025-05-12 10:58:06 1073

原创 Shell脚本编程2 (变量+条件测试+流程控制)

文章主要介绍了Shell脚本中的变量、条件测试和流程控制相关知识。首先,变量是存储数据的内存空间,变量名为内存地址,命名规则包括字母、数字、下划线,且不能以数字开头。Shell变量为动态类型,统一存储为字符串,但可根据上下文执行不同操作。变量的定义与引用通过$变量名或${变量名}实现,环境变量可通过export定义,作用范围更广。位置变量用于处理脚本参数,如$1表示第一个参数。变量的运算包括整数运算和字符串操作,如截取、删除、替换等。 条件测试用于判断条件是否成立,支持文件测试、整数测试和逻辑操作符,常见的

2025-05-11 12:04:49 818

原创 Shell 脚本编程1(常用命令+概述)

本文介绍了Shell脚本编程的基础知识和常用命令。Shell作为命令解释器,将用户输入的命令翻译为机器指令执行。脚本是包含一系列命令的文本文件,可以通过编程将命令按顺序组合批量执行。文章详细说明了设置主机名、使用nmcli配置网络、echo输出、export设置环境变量、read读取输入、lscpu查看CPU信息、重定向数据流、wget下载文件、watch周期性执行命令、xargs处理命令行参数等常用命令的使用方法。此外,还介绍了Shell脚本的基本构成、注释风格、编写规范、执行方式以及echo、print

2025-05-10 18:18:27 975

原创 《防火墙》(含实验)

防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。

2025-05-07 21:04:03 739

原创 《Kubernetes》 介绍

主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。

2025-04-25 11:13:59 652

原创 《DNS域名解析服务器》

1.概述 2.DNS域名解析过程 3.搭建DNS域名解析服务器 4.部署DNS从服务器

2025-04-22 23:05:49 1031

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除