logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

MVCC 多版本并发控制、并发死锁

摘要:本文深入解析了MySQL的MVCC机制和并发死锁问题。MVCC通过Read View和版本链实现一致性非锁定读,RC和RR隔离级别的区别在于Read View创建时机不同。MVCC判断版本可见性时,会检查事务ID与活跃事务列表的关系。

文章图片
#数据库#mysql#开发语言
MySQL 高并发场景下的缓存策略:主从复制、读写分离及一致性保障

MySQL缓存方案通过主从复制、读写分离、连接池等技术提升访问性能,同时引入缓存层(如Redis)解决热点数据访问效率问题。方案核心在于管理MySQL与缓存的数据一致性,适用于读多写少的高并发场景。

文章图片
#mysql#缓存#数据库 +1
Redis 哈希表核心机制:扩缩容与渐进式 Rehash

Redis哈希表采用“数组+链表”结构,通过哈希函数和拉链法解决冲突。动态扩缩容机制根据负载因子调整表大小,采用渐进式rehash避免阻塞主线程,迁移过程分步执行。源码分析展示了dictEntry、dictht等核心结构体,以及扩容触发条件判断逻辑。

文章图片
#redis#散列表#数据库 +1
C++ 子类与父类转型:static_cast、dynamic_cast

C++强制类型转换总结:介绍了static_cast和dynamic_cast两种类型转换方式。static_cast在编译时进行类型检查,支持基本类型转换、指针转换和类层次转换。dynamic_cast在运行时检查类型安全,要求类包含虚函数,主要用于类层次间的安全向下转换,失败返回nullptr。

#c++#开发语言#数据结构
Linux 网络协议栈如何收发数据包

本文介绍了Linux网络协议栈的分层结构、数据包处理流程以及收发机制。协议栈分为应用层、系统调用、socket接口、传输层(TCP/UDP)、网络层(IP)、链路层和网卡驱动,各层通过sk_buff结构统一处理数据包。接收流程包括网卡DMA传输、中断处理、软中断调度、协议解析和socket缓冲;发送流程则涵盖应用数据写入、协议封装、队列调度、DMA传输和TCP确认管理。整个过程通过分层解耦和硬件加

文章图片
#linux#网络协议#运维 +1
【网络编程】socket编程

Socket是网络通信的端点,本质是对TCP/IP协议的封装,作为编程接口提供跨平台通信能力。

文章图片
#websocket#tcp/ip#架构
SQL 性能优化:出现 sql 比较慢怎么办?

MySQL优化器在执行SQL查询时会进行成本分析,选择最优执行路径。数据类型选择对性能影响很大,应遵循越小越简单越好原则。 EXPLAIN工具用于分析SQL执行计划,

文章图片
#sql#数据库#mysql +1
C++ 智能指针详解

C++智能指针是C++11引入的重要特性,通过RAII技术实现自动内存管理,解决手动内存管理常见问题。主要包括三种智能指针:unique_ptr(独占所有权,不可复制只能移动)、shared_ptr(共享所有权,使用引用计数机制)和weak_ptr(解决shared_ptr循环引用问题)。

文章图片
#c++#开发语言#服务器
定时器设计与实现

本文介绍了一种基于单线程事件循环的定时器管理方案。通过TimerNode封装定时任务,Timer类实现核心功能:添加/删除定时器、计算下次触发时间、执行到期回调。使用std::multimap有序存储定时任务,利用epoll_wait的超时机制实现高效触发。

文章图片
#算法#linux#开发语言 +1
定时器原理与应用

定时器主要用于高效管理大量延时/定时任务,需解决高效检索、高效操作和高效等待三个问题。主要实现方案包括: 红黑树、最小堆、时间轮;通常与IO多路复用结合,通过epoll_wait的超时参数实现

文章图片
#算法#数据结构#服务器 +1
    共 16 条
  • 1
  • 2
  • 请选择