Redis 面试汇总

当我们谈论 Redis 时,应该谈论什么? Redis 基本数据类型有哪些?以及他们各自的使用场景是什么? 常见的有五种:字符串、哈希、列表、集合、有序集合。5.0 版本中新添加了 Stream 类型。 ...

April 15, 2021 · JemmyHu(hujm20151021@gmail.com)

Redis(二): 什么是 Redis 中的事件

Redis 设计与实现–事件 中有很清晰的说明。 redis 要处理的事件有两种类型: 文件事件:网络连接套接字。服务器与多个客户端通过网络套接字连接,当对应套接字上出现“读”或“写”需求时,对应的事件就会触发; 时间事件:在指定时间点运行的事件。如持续运行的服务器为了维持一个健康稳定的状态,需要定期对自身的资源和状态进行检查和整理。 一、时间事件 时间事件记录着那些要在指定时间点运行的事件, 多个时间事件以无序链表的形式保存在服务器状态中。 每个时间事件主要由三个属性组成: ...

April 8, 2021 · JemmyHu(hujm20151021@gmail.com)

Redis系列(一): Redis 单线程事件循环

一、前言 在关注 redis 单线程/多线程 时,有几个重要的时间节点: Before Redis v4.0,真正的单线程; Redis v4.0,引入多线程处理 AOF 等任务,但核心的网络模型中依旧使用单线程; Redis v6.0,正式在网络模型中实现 I/O多线程。 从 Redis v1.0 到 Redis v6.0以前,Redis 的核心网络模型一直都是一个典型的 单Reactor模型,所有的事件都在这个线程内处理完成。本 issue 旨在解释清楚这个 单Reactor模型 的所有运作细节,为以后更好地理解新的 Multi-Reactors/Master-Workers 模型做准备。 ...

April 5, 2021 · JemmyHu(hujm20151021@gmail.com)

Redis源码阅读--1.基础数据结构与对象

首先明确,Redis 是一个使用 C 语言编写的键值对存储系统。Redis 是众所周知的 “快”,一方面,它是一个内存数据库,所有的操作都是在内存中完成的,内存的访问速度本身就很快;另一方面,得益于它底层的数据结构。Redis 的常见类型可在这个网页找到:Redis 命令参考简体中文版,其使用到的底层数据结构有如下六种:简单动态字符串、双向链表、压缩列表、哈希表、跳表和 整数数组。本篇文章,将具体了解这些底层数据结构的实现。 ...

October 2, 2020 · JemmyHu(hujm20151021@gmail.com)