介绍 valgrind 的 Memcheck、Callgrind、Helgrind、Massif 等工具的用法。
分布式架构和高并发相关场景
发表于
介绍分布式架构和高并发相关场景下的设计和问题定位的相关经验,持续更新。
在分布式架构下,我们不得不摆脱一些下层硬件为提供的屏障,而要去解决真实环境带来的难题。
如果将普通的程序比作是经典力学,那么研究高并发系统有点类似于研究热力学。当成千上万个过程彼此交互、竞争、等待,在有限的集群资源中将会产生不一样的场景。
C++ 中 const 的用法
发表于
解决 bindgen 的一个奇怪问题
发表于
今天遇到一个奇怪的现象,前后两个版本 Cargo.lock 相同,但是后面的版本却报错”dyld: Library not loaded: @rpath/libclang.dylib”。
C++中类型和类型转换
发表于
C++中auto关键字的用法
发表于
在最近几个 C++ 版本中,auto 越来越常见。很多人打趣说将来 C++ 里面一定全是 auto。本文介绍 C++ 中 auto(新)关键字的用法。
Redis基础机制分析
发表于
因为原《Redis底层对象实现原理分析》太大了,所以被拆解出来介绍Redis基础设施的相关实现,包括:
- redisDb,以及在这上面的增删改查
- Redis的expire和evict机制
- Redis的事件机制
- Redis的主从复制(一部分)
注意,很多实现在引入主从复制之后都变得非常复杂,有很多边边角角要考虑,这也导致Redis的代码相比3.0版本要难看很多。本文对主从复制的涉及,局限于帮助理解实现。
本文介绍的部分比如propagate机制。
本文中不介绍的是,它们在系列的其他文章中讲解:
- Redis的对象实现
- Redis Sentinel
- Redis Cluster
- Redis AOF/RDB
我们如何消除两个开源项目之间长达 4 年的分叉
发表于
转发我的文章
https://cn.pingcap.com/blog/how-we-eliminate-the-four-year-fork-between-two-open-source-projects
TiFlash 源码解读:TiFlash Proxy 模块
发表于
Linux 的文件系统
发表于
Linux 通过 VFS 建立了一个抽象层,并在之上提供了通用的文件系统模型,使得 Linux 能够支持多种文件系统。