自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用 Python + Pygame 键盘控制无人机(AirSim)

通过pygame键盘监听 + AirSim 接口,我们实现了一个简单直观的无人机控制方式。这种方式适合:进行飞控算法测试做可视化演示快速调试无人机运动学效果如果需要更复杂的控制逻辑,还可以在此基础上扩展,例如添加姿态角度控制航点自动飞行等功能。

2025-09-26 21:29:13 595

原创 Unreal Engine 4.27 + AirSim 无人机仿真环境搭建:澳大利亚农村场景更换教程

本文介绍了在UnrealEngine4.27中搭建基于澳大利亚农村场景的无人机仿真环境的方法。通过AirSim插件和RuralAustralia资源包,可创建高度真实的无人机飞行环境。具体步骤包括:创建UE4.27项目、导入场景资源、配置AirSim模块、设置游戏模式等。该仿真环境具有真实视觉效果和物理模型,支持多种传感器和控制方式,适用于无人机路径规划、计算机视觉训练等开发测试需求。

2025-09-19 20:21:12 1619 1

原创 微博架构笔记

按关注时间排序获取关注ID列表(Redis list)正常情况:请求命中Memcached或Redis。示例:广州用户→广州IDC,北京用户→北京IDC。组件级:Redis宕机→Memcached接管。Master库:较热数据(容量TB级)实现方式:Redis列表/有序集合。广州IDC故障→流量切至北京IDC。跨IDC同步:IDC之间消息队列。分库策略:年库→月库→周库→天库。MySQL仅作为持久化层和灾备源。IDC级:区域故障→流量跨区调度。QPS 3000-6000左右。# 1. 获取关注列表。

2025-08-14 16:41:33 968

原创 Feed系统简易实现:分库分表架构与核心代码解析

摘要: 本文详细设计了一个社交平台的数据库架构,采用分库分表策略实现高扩展性。系统包含用户管理、动态内容、关系关注和Feed生成四大模块。数据库采用CRC32分片算法实现水平拆分,其中用户数据分8库32表,动态数据分8库64表。文章提供了完整的表结构设计(用户表、Feed映射表、内容表和关系表)和核心代码实现,包括数据库初始化、表创建、数据插入和查询等操作。通过优化错误处理和查询性能,系统实现了高效的数据存储和访问能力。

2025-08-14 14:30:24 799

原创 memcached 中的连接状态枚举(conn_state)详解

Memcached的conn_state枚举定义了12种连接状态,驱动其高性能网络处理状态机。核心状态包括conn_listening(监听)、conn_read(读取)、conn_parse_cmd(解析)、conn_write(响应)等,通过drive_machine()函数实现非阻塞的状态切换。每个状态只处理最小逻辑单元,配合事件驱动机制实现高并发。状态机设计采用"走一步停一下"原则,将协议解析、命令处理与I/O操作分离,既保证性能又提高可维护性。典型命令处理流程会经历监听→接收→

2025-08-08 16:01:11 322

原创 【Docker 镜像部署全指南】从本地到 Docker Hub 与阿里云公共镜像库​

本文详细介绍了如何将Docker镜像发布到DockerHub和阿里云ACR平台的完整流程。从环境准备、账户管理、镜像标记等基础操作,到推送验收、网络优化等进阶技巧,涵盖了镜像发布的全过程。文章特别强调了安全注意事项(如PAT使用)和国内网络优化方案(如镜像加速器配置),并提供了常见问题排查方法。通过清晰的步骤说明和实用建议,帮助开发者高效完成镜像发布,实现全球协作与国内极速部署。

2025-08-08 15:45:27 2027

原创 Libevent 核心概念与 Memcached 工作线程模型分析

主线程 (初始化全局 event_base。执行其他关键初始化 (stats_init()创建工作线程并进行初始化 (thread_init(settings.num_threads, main_base)承担监听 (listen) 和接受 (accept) 新连接的职责。启动主事件循环 (event_base_loop(main_base, 0)工作线程 (每个工作线程拥有自己独立的 event_base。使用管道 (pipe机制与主线程进行通信。

2025-08-06 14:13:39 702

原创 Memcached 从入门到实战:分布式缓存核心原理与命令全解析​

本文全面解析Memcached分布式缓存的原理与应用。Memcached作为高性能内存KV存储系统,通过缓存热点数据显著提升Web应用响应速度,尤其适用于电商、社交等高并发场景。文章详细介绍了文本协议和二进制协议两大交互方式:文本协议包含set/get/delete等基础命令及统计管理功能,适合调试;二进制协议通过固定格式消息提升效率,是生产环境首选。此外还提供了缓存策略、性能监控等实战技巧。掌握Memcached对构建高性能分布式系统至关重要。

2025-08-04 11:57:47 481

原创 从零开始学网络协议:从 TCP/IP 到 Redis 和 MySQL 的通信原理

想象一下,当两台电脑想要传递信息时,如果没有共同的规则,就像两个人各说各的语言 —— 一方发送的 "101" 可能被另一方解读为完全不同的意思。网络协议正是解决这个问题的 "共同语言",它细致地规定了数据应该怎么打包、怎么发送、遇到错误该怎么处理,让不同品牌、不同系统的设备能顺畅交流。从底层的 TCP/IP 到应用层的 Redis、MySQL 协议,就像一套层层嵌套的通信规则:​。MySQL 的数据包像封装严密的快递盒,有明确的 "包装说明":​。Redis 协议就像用简单符号写的便条,既好写又好懂:​。

2025-08-01 15:12:05 532

原创 MySQL 读写分离技术笔记:基于 C 语言实现

MySQL读写分离技术通过主库处理写操作、从库处理读操作,有效提升数据库性能和高可用性。本文首先介绍了MySQL主从复制原理和配置步骤,作为读写分离的基础。然后详细阐述了基于C语言的实现方案,包括:定义数据库连接结构体管理主从连接、实现数据分片算法、创建数据库表结构、实现数据插入和读取功能,以及同步状态检查机制。该方案采用分库分表设计(8库×8表)分散数据存储,通过哈希算法确保用户数据路由一致性,并利用互斥锁保证线程安全。文章最后提供了完整示例代码,展示了从初始化连接到数据操作的完整流程,为构建高性能数据库

2025-07-31 18:00:15 1171

原创 MySQL 分库分表脚本实践:批量创建数据库与表

本文介绍了一个批量创建MySQL分库分表架构的自动化脚本解决方案。该脚本通过嵌套循环创建8个数据库(user_0到user_7),每个库包含16张表(user_info_0到user_info_127),共128张表。脚本实现了数据库连接配置、utf8mb4字符集支持、表结构定义(包含用户信息字段和索引)等功能,采用HereDocument语法执行批量SQL命令。该方案可有效解决大数据量下的性能瓶颈问题,同时脚本提供了清晰的执行进度显示。文章还分析了分库分表的优势、分片策略选择以及可能带来的分布式事务等挑战

2025-07-30 15:59:56 1088

原创 MySQL 基础语法与索引优化全解析

本文系统介绍了MySQL核心语法与索引优化技巧。主要内容包括:1)SELECT语句基础与WHERE子句高级用法,涵盖条件过滤、排序分页和模式匹配;2)UPDATE语句及多表关联更新;3)索引原理与类型对比,分析普通索引、组合索引等适用场景;4)索引优化实践,提出高选择性列优先、组合索引顺序等设计原则,并列举常见失效场景的解决方案。文章强调,数据库优化需结合业务场景持续调整,建议后续深入学习多表查询、事务处理等高级主题,以全面提升MySQL应用能力。

2025-07-28 17:03:03 872

原创 多线程同步实战:四种实现“先写后读”的高效策略

本文探讨多线程编程中"先写后读"同步问题的四种实现方案:1)互斥锁通过计数器实现简单同步;2)读写锁利用主线程控制写锁生命周期;3)条件变量让读线程休眠等待唤醒;4)信号量精确控制执行顺序。对比分析显示,条件变量资源利用率最优,读写锁适合读多写少场景,互斥锁适用于简单计数器,信号量则用于精确控制。文章强调所有方案都需保护共享数据,建议根据具体场景结合性能测试选择最佳同步机制,以提升程序性能和稳定性。

2025-07-23 18:16:05 240

原创 多线程Redis性能压测实战:C语言实现高并发读写(附完整源码)

本文介绍了一个高性能Redis压测工具的设计要点,通过宏定义实现参数化配置,支持灵活调整压测规模。采用多线程架构,每个线程维护独立Redis连接确保线程安全,实现2:1的读写比例模拟真实负载。核心包括:1)宏定义集中管理线程数、数据量等关键参数;2)写线程批量SET数据,读线程高频GET验证;3)标准化错误处理机制。文章还提供了连接池优化、键名设计等高级技巧,并给出不同规模下的参考性能指标(最高达12万QPS)。该工具可快速验证Redis集群性能瓶颈。

2025-07-22 17:59:21 298

原创 hiredis 客户端常用 Redis 命令封装与使用指南

本文介绍了如何使用hiredis库实现Redis常用数据结构的C语言封装。主要内容包括:字符串、哈希、列表、集合和有序集合的基本操作封装,如SET/GET、HSET/HGET、LPUSH/LPOP等。文章详细说明了命令发送、返回值处理、内存管理和错误检查等核心要点,强调必须正确释放redisReply对象和动态分配的内存。所有示例都包含完整的参数处理、错误判断和内存释放逻辑,开发者可直接参考使用或根据需求扩展其他Redis命令。文中还指出了常见问题,如HGET命令的错误写法及修正方案。

2025-07-21 19:09:34 648 1

原创 Redis 核心数据结构与常用命令全解析

本文介绍了Redis的核心功能与应用场景。Redis作为高性能键值数据库,支持字符串、哈希、列表、集合、有序集合等多种数据结构,适用于缓存、消息队列、实时统计等场景。文章详细解析了各类数据结构的特性及常用命令:String适合简单键值存储,Hash用于结构化对象,List实现队列/栈,Set处理唯一值,SortedSet实现排行榜等。还介绍了GEO、BitMap等特殊结构的使用场景。通过合理选择数据结构,可以充分发挥Redis高性能优势。本文适合Redis初学者快速掌握基础知识,为进一步学习高级特性奠定基础

2025-07-16 17:24:42 576

原创 从零开始!Windows 下用 VMware+Docker 玩转 CentOS 容器,新手也能快速上手

到这里,你已经完成了从搭建虚拟机到运行 Docker 容器的全过程。Docker 的世界还有很多好玩的东西,比如用容器部署网站、运行数据库等。跟着这篇教程一步步做,你也能成为 Docker 高手!如果操作中遇到问题,欢迎在评论区留言讨论~

2025-07-14 20:59:13 726

原创 Docker 核心逻辑速通:从概念到流程

摘要:Docker核心概念和流程拆解:1)类比关系:Dockerfile是菜谱,镜像(Image)是冻结的可执行程序,容器(Container)是运行实例;2)采用Client-Server架构,客户端发指令,守护进程(Daemon)执行操作;3)核心流程:dockerbuild构建镜像→dockerrun启动容器→dockerpull拉取镜像。理解"原材料→静态镜像→动态容器"的转换逻辑,就能掌握Docker基本原理。

2025-07-14 20:11:35 315

空空如也

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

TA关注的人

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