Featured image of post Linux下使用iouring实现一个tcp服务

Linux下使用iouring实现一个tcp服务

探索 Linux io_uring 异步 I/O 接口,通过 liburing 库实现高效 TCP 服务。本文深入 io_uring 的基础概念,包括 Submission Queue 和 Completion Queue,并通过示例代码演示如何初始化、提交 I/O 请求和处理完成事件。了解 io_uring 如何提升 I/O 密集型应用的性能,以及在实际部署中需要注意的错误处理和连接管理。

Featured image of post redis ACL使用手册

redis ACL使用手册

redis在 6.0 版本加入了ACL支持,虽然已经发布很久了,但是这个命令属于不太常用的命令,导致很多人对ACL还不太了解。比较好的文档就是redis [ACL的官方文档](https://redis.io/docs/management/security/acl/) ,其他网上搜索到的相关知识大多数不全面,尤其中文文档缺失比较多。

Featured image of post redis源码学习|网络

redis源码学习|网络

redis的网络处理是redis的核心功能之一,redis的网络处理是单线程的,这里通过源码分析,来看一下redis是如何处理网络的。

Featured image of post C++动态加载so/dll库

C++动态加载so/dll库

本文介绍了如何在C++中动态加载共享库,在Linux系统下使用.so文件,在Windows系统下使用.dll文件。详细讲解了编译时链接与运行时动态加载的区别,并提供了加载、使用和卸载库的代码示例。适用于构建插件系统和服务器热更新模块。涵盖了基类的实现、动态模块加载,以及使用dlopen、LoadLibrary、dlsym和GetProcAddress等函数的完整过程。

Featured image of post redis源码学习|ACL

redis源码学习|ACL

深入了解Redis 6.0的新特性:ACL(访问控制列表)。本文详细探讨了Redis ACL的作用、命令和权限设置,以及如何在源码层面实现ACL的初始化、加载和鉴权。从基本的AUTH命令到复杂的权限设置,每一部分都配有清晰的代码示例和解释。文章还涵盖了ACL规则的存储和命令初始化过程,为想要在Redis中实现细粒度访问控制的开发者提供了宝贵的资源。

Featured image of post redis源码学习|watch

redis源码学习|watch

探索Redis中的WATCH命令和乐观锁机制。本文详细解读了Redis 7.0.11版本中WATCH的实现原理,包括其数据结构、如何监控和管理key的变化,以及在事务中如何确保数据一致性。文章通过清晰的代码示例和图表,展示了WATCH命令在Redis中的工作流程,从监控key到执行事务的全过程。了解Redis如何通过WATCH实现乐观锁,以及在集群模式下的限制。加入我们,一起深入学习Redis源码,掌握数据一致性的核心技术。

Featured image of post go小数四舍五入取整

go小数四舍五入取整

掌握Go语言中的小数四舍五入和取整技巧。本文提供了简洁的Go代码示例,展示如何实现小数的四舍五入取整、保留指定小数位数,以及如何在保留小数位数的同时进行四舍五入。通过清晰的数学原理解释和实际代码演示,帮助读者理解并掌握这些常用的数学运算。文章还包含了性能测试,比较了数学计算方法与fmt包格式化方法的性能差异

Featured image of post cmake笔记3

cmake笔记3

这篇文章主要是分享作者关于CMake的一些学习笔记,特别是在参与开源项目pika时积累的经验。文章内容涵盖了CMake中几个常用函数和命令的应用场景和代码示例,包括find_program、execute_process、cmake_host_system_information以及ExternalProject_Add等。通过这些命令,用户可以进行程序的检测、命令执行、本机系统信息获取,以及外部项目的引入和管理,帮助简化依赖处理和构建流程。