Redis RDB 与 AOF 持久化 · Analyze

Redis 是内存数据库,将数据保存在内存中,以换取更快的读取速度。但由于内存是易失性存储器,一旦进程退出或者硬件设备出现故障,Redis 存储的数据可能就会丢失。为了解决数据持久化问题,Redis 提供了 RDB 快照与 AOF 写操作记录两种方案,这篇文章就这两种分案的实现方式进行分析。

Redis 慢查询日志 · Analyze

Redis 的慢查询日志功能用来记录执行时间超过给定时长的命令请求,我们可以利用这个功能分析和优化查询速度。本篇文章将会对 Redis 的慢查询日志功能的实现原理进行分析。

Redis RESP 通信协议 · Analyze

Redis 是 client-server 架构的软件,了解 Redis 客户端与服务端的通信原理,可以更好地理解 Redis 的工作方式。Redis 客户端和服务端之间使用 RESP(REdis Serialization Protocol) 二进制安全文本协议进行通信,该协议是专为 Redis 设计的,但由于该协议实现简单,也可以将其用于其他的项目中。

Redis 对象的实现 · Analyze

Redis 内部实现了一组比较全面的数据结构类型,但并没有直接使用这些数据结构来实现键值对数据库,而是构建了一个对象系统,利用对象系统将这些数据结构进一步封装。对象系统的设计不但可以针对不同的使用场景,为一种键值对设置不同的底层数据结构,还简化了键值对的回收、共享等操作。这篇文章将简要分析 Redis 对象系统的实现。

为什么进程 fork 采用写时复制 · Why

fork 是目前使用最广泛的进程创建机制,进程通过系统调用函数 fork 能够创建若干个新的进程,前者称为父进程,后者称为子进程。为了减少进程创建的开销,现代操作系统会使用`写时复制`技术,父进程与子进程共享同一内存空间,从而实现数据的“拷贝”,这篇文章将会分析这个问题。

浅论并发编程中的同步问题 · Analyze

为什么要考虑同步问题?在很多时候,我们需要多个进程或线程之间相互配合完成一个任务,多个串行程序可能都要对一个共享资源进行访问,或者相互传递一些数据。这种情况下,我们需要协调程序的执行。同步的作用是避免在并发访问共享资源时可能发生的冲突,以及确保有条不紊地传递信息。