Featured image of post Go支持泛型和排序的list

Go支持泛型和排序的list

介绍了如何实现一个支持泛型和排序功能的链表。首先回顾了Go自带链表的源码,包括Element和List结构体以及insert、remove、move等核心操作函数。接着详细阐述了通过归并排序算法为链表添加排序功能的实现过程,展示了sort、mergeSort和merge等函数的代码,并对比了之前插入排序的实现方式。文章还分析了归并排序的时间复杂度和空间复杂度,探讨了在数据量较大时的适用性。最后总结了此次实现的目的和收获

Featured image of post Hexo迁移到hugo指北|Hugo配置|自定义|美化

Hexo迁移到hugo指北|Hugo配置|自定义|美化

本文介绍了从 Hexo 到 Hugo 的博客迁移过程,包括配置文件设定、自定义主题、添加阅读进度条、友链页面等实用技巧。涵盖 Stack 主题的自定义样式调整和页面优化,帮助博客作者提升网站加载速度和个性化定制体验。

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源码,掌握数据一致性的核心技术。