logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Protobuf---消息的更新

摘要:本文介绍了Protocol Buffers中修改message结构的注意事项。主要包含:1)禁止修改已有字段编号,避免反序列化问题;2)删除字段时应使用reserved保留编号;3)某些数据类型相互兼容的规则;4)oneof类型修改的安全方式;5)Proto3.5+版本对未知字段的处理机制;6)前后兼容性概念;7)optimize_for选项的三种优化级别及其影响;8)枚举类型中allow_

文章图片
#数据库#开发语言#c++
Redis Key过期策略,定时器

Redis采用定期删除、惰性删除和内存淘汰三种策略管理过期键。定期删除每100毫秒随机扫描部分键删除过期项;惰性删除在访问键时检查并删除过期键;内存不足时触发淘汰策略(如LRU、随机删除等)。三策略配合使用:前两者日常清理,内存不足时先尝试定期删除,若仍不足则执行淘汰策略。Redis未采用定时器管理过期键,因其单线程设计考虑效率。理论上可用优先级队列或时间轮实现定时器,但存在延迟问题,与惰性删除配

文章图片
#redis#数据库#缓存
Redis---类型补充,渐进式遍历,数据库管理命令

本文介绍了Redis的几种特殊数据类型及其操作:1. Stream类型:消息队列实现,是List的升级版本。2. Geospatial:存储和查询地理位置坐标数据,支持范围搜索。3. HyperLogLog:高效统计UV,仅用12KB空间即可统计上亿数据,但有0.81%误差。4. Bitmap:针对整数的特化SET类型,可进行位操作。5. Bitfield:针对整数的位域操作。还介绍了渐进式遍历S

文章图片
#redis#数据库#缓存
UDP协议详细讲解

UDP是一种无连接的传输层协议,具有简单高效但不可靠的特点。它不保证数据的有序性和可靠性,适合传输少量数据。UDP采用数据报传输方式,每个数据报独立传输,报头包含源/目的端口号、长度和校验和字段。其16位长度字段限制单次传输最大64KB数据。UDP没有发送缓冲区,只有接收缓冲区,且无法保证接收顺序。基于UDP实现的协议包括DNS、DHCP等。UDP通过校验和确保数据完整性,但不保证传输成功。在编程

文章图片
#udp#网络协议#网络
C++11----线程

本文介绍了C++11标准中的多线程编程相关库,包括thread线程库、mutex互斥锁、condition_variable条件变量和atomic原子操作库。重点讲解了thread线程对象的构造方法、线程参数传递方式(ref、指针、lambda捕获)以及join/detach资源回收机制;mutex的四种类型(普通锁、递归锁、定时锁)及其使用方法;atomic原子操作解决线程安全问题的高效方案;c

文章图片
#jvm#c++
TCP详细讲解

摘要:本文深入解析TCP协议的工作原理与实现机制。首先介绍TCP作为传输控制协议的核心特性,重点阐述其"控制"体现在缓冲区管理、发送时机选择等机制。详细分析TCP报头各字段功能,包括端口号、校验和、窗口大小、序号等。系统讲解TCP可靠性保障的三大机制:确认应答、超时重传和快重传。深入探讨三次握手和四次挥手过程及状态变化,解释SYN洪水和TIME_WAIT等问题。还介绍了流量控制

文章图片
#tcp/ip#网络#网络协议
到底了