logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Redis 系列(九):分布式锁与限流——用 Redis 做并发治理

本文探讨了Redis在分布式锁和限流场景下的核心实现与边界问题。分布式锁需满足SET NX EX原子操作、持有者标识和Lua原子释放三要素,主从切换可能导致锁失效,Redlock存在争议,建议结合业务幂等作为兜底。限流部分对比了固定窗口、滑动窗口和令牌桶三种算法,分析各自优缺点及适用场景。文章通过实验验证边界条件,并给出工程实践建议:分布式锁减少竞争+业务幂等兜底+监控告警。最后展示了shop-l

文章图片
#redis#分布式#junit
Redis 系列(四):底层实现(二)——List、Set、ZSet 与 Stream 的数据结构

本文深入分析了Redis中List、Set和ZSet三种数据结构的底层实现与内存消耗差异,重点解答了"为什么相同元素数下ZSet比List贵10倍"的问题。通过源码解析和实际测试,揭示了各数据结构的编码策略与设计取舍: List采用quicklist(双向链表+listpack节点)实现,在头尾操作高效的同时通过紧凑存储节省内存,实测1000元素仅占5.9KB。 Set针对整数集合使用intset

文章图片
#数据结构#redis#list
Google Test 单元测试指南

本文介绍了Google Test(gtest)框架的核心功能与使用方法。主要内容包括: gtest的优势:工业级成熟度、xUnit架构、与gmock深度集成、丰富的断言体系、跨平台支持等。 安装配置:推荐使用CMake FetchContent集成,也支持vcpkg和系统包管理器安装方式。 测试用例编写:通过简单示例展示TEST宏的基本用法,包括测试套件命名、测试分组和断言检查。 工程实践:提供标

文章图片
#单元测试
Catch2 单元测试指南

本文介绍了C++单元测试框架Catch2的核心概念和使用方法。主要内容包括: Catch2框架概述:对比其他测试框架的优势,如零配置、现代C++风格、自描述断言等特性。 安装与配置:提供多种集成方式,包括头文件方式、CMake FetchContent和vcpkg包管理。 测试编写基础:从最小测试程序入手,介绍断言宏体系和SECTION场景划分功能。 高级特性:涵盖BDD风格测试、匹配器(Matc

文章图片
#单元测试
Python使用grpc以及与C++进行互相调用

python中使用grpc就比在c++简单多了,我们可以使用grpc轻松的跨语言通讯,相比传统的webserver通讯,grpc的效率更高。对于追求效率的场景下,我们可以使用c++编写,然后业务方面我们可以使用Java或者python。我现在遇到的一个场景就是需要使用modbus实时采集数据,然后将数据传递给web后台或者客户端,对于这种场景,grpc就比webserver优势大多了。

文章图片
#python#c++#开发语言 +4
Redis 系列(四):底层实现(二)——List、Set、ZSet 与 Stream 的数据结构

本文深入分析了Redis中List、Set和ZSet三种数据结构的底层实现与内存消耗差异,重点解答了"为什么相同元素数下ZSet比List贵10倍"的问题。通过源码解析和实际测试,揭示了各数据结构的编码策略与设计取舍: List采用quicklist(双向链表+listpack节点)实现,在头尾操作高效的同时通过紧凑存储节省内存,实测1000元素仅占5.9KB。 Set针对整数集合使用intset

文章图片
#数据结构#redis#list
iec104-python库使用指南

IEC104是电力自动化系统中的标准通信协议,基于TCP/IP架构,支持遥测、遥信等功能。iec104-python库实现了该协议,可通过源码编译安装。使用时需创建IEC104Server类,添加监控点(设置自动上报)和命令点(处理控制指令),并提供获取测点值的接口。该库支持主站与子站通信,满足电力系统实时监控需求。安装时需注意依赖问题,国内用户可使用镜像源加速下载。

文章图片
#python#开发语言
使用 GoZero 快速构建高性能微服务项目

GoZero是一个高性能的Go语言微服务框架,提供简单易用、可扩展的微服务解决方案。本文介绍了GoZero的核心优势,包括极简API设计、高性能网络库、内置服务治理等功能。详细讲解了环境准备步骤,包括Go语言安装、GoZero工具链配置和依赖安装。通过创建一个用户管理API服务的实例,展示了如何使用GoZero快速生成项目骨架、定义API接口、生成代码并实现业务逻辑。示例包含了用户登录和查询功能的

文章图片
#微服务#架构#云原生
Ubuntu24.04 x86 借助 QEMU 运行 ARM64 Docker 镜像全流程

本教程将带你完成以下任务:1.在一台 x86_64 架构的 Ubuntu 24.04 主机上安装 Docker。2.配置 QEMU 仿真支持,使 Docker 能够运行 ARM 架构的容器。3.拉取并运行官方 Ubuntu 24.04 ARM 镜像。4.验证容器架构,并像操作原生 ARM 环境一样使用它。整个过程模拟了真实的 ARM 硬件环境,非常适合没有树莓派等 ARM 物理设备的开发者进行交叉

文章图片
#docker#容器#arm +1
    共 56 条
  • 1
  • 2
  • 3
  • 6
  • 请选择