《Redis设计与实现》

由浅到深,逐步讲解Redis

本书主要分为四大部分。

第一部分”数据结构与对象”: 介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。

第二部分”单机数据库的实现”: 对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。

第三部分”多机数据库的实现”: 对Redis的Sentinel、复制、集群三个多机功能进行了介绍。

第四部分”独立功能的实现”: 对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。

《Redis设计与实现》

目录

第1章 引言 1
第一部分 数据结构与对象
第2章 简单动态字符串 8
第3章 链表 19
第4章 字典 23
第5章 跳跃表 38
第6章 整数集合 46
第7章 压缩列表 52
第8章 对象 60

第二部分 单机数据库的实现
第9章 数据库 90
第10章 RDB持久化 118
第11章 AOF持久化 138
第12章 事件 151
第13章 客户端 162
第14章 服务器 176

第三部分 多机数据库的实现
第15章 复制 198
第16章 Sentinel 219
第17章 集群 245

第四部分 独立功能的实现
第18章 发布与订阅 290
第19章 事务 305
第20章 Lua脚本 321
第21章 排序 344
第22章 二进制位数组 362
第23章 慢查询日志 378
第24章 监视器 386

在WX公众号【Java全栈布道师】回复:135817

《Redis设计与实现》

PS: 此资源仅供学习交流,切莫用于商用,侵权删除。

Original: https://www.cnblogs.com/dennyLee2025/p/16180780.html
Author: 渊渟岳
Title: 《Redis设计与实现》

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576540/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL8.0.26的安装与配置——详细教程

    网上的教程有很多,基本上大同小异。 但是安装软件有时就可能因为一个细节安装失败。 我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 二、Mysql 配置 1.解压…

    数据库 2023年6月9日
    092
  • Nginx基础入门篇(1)—优势及安装

    一、Nginx 的优势 1.1发展趋势: 2016年: 1.2、简介 Nginx (engine x) 是一个高性能的HTTP(解决C10k的问题)和反向代理服务器,也是一个IMA…

    数据库 2023年6月14日
    076
  • MySQL 数据库备份脚本

    MySQL 数据库备份脚本 #!/bin/bash 数据库连接信息 DB_HOST="127.0.0.1" DB_PORT="3306" D…

    数据库 2023年5月24日
    089
  • 设计模式之(4)——单例模式

    定义:单例模式属于创建型模式,该类负责创建自己的对象实例,并且确保只有单个对象被创建,同时该类提供了一种全局访问其唯一实例对象的方式;这个定义中有三个要点:1、单例类只能有一个实例…

    数据库 2023年6月14日
    084
  • Java基础七—Java并发基础

    一个类在可以被多个线程安全调用时就是线程安全的。 线程安全不是一个非真即假的命题,可以将共享数据按照安全程度的强弱顺序分成以下五类: 不可变、绝对线程安全、相对线程安全、线程兼容和…

    数据库 2023年6月6日
    0251
  • Debezium的基本使用(以MySQL为例)

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 一、Debezium介绍 摘自官…

    数据库 2023年5月24日
    0105
  • JUC学习笔记(二)

    1.1、Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的…

    数据库 2023年6月6日
    080
  • Linux 学习笔记2(未完待续)

    Linux 学习笔记2 学习Linux的原因 Linux刚面世时并没有图形界面,所有操作全靠命令完成,如磁盘操作、文件读写、目录操作、进程管理、文件权限; 在职场中,大量的服务器维…

    数据库 2023年6月14日
    075
  • MySQL索引使用方式以及段、区、页概念

    B+树索引的正确使用 索引并不是越多越好,索引创建越多,MySQL维护的代价越高,如果SQL未能完全使用到索引,创建索引的意义是不大的。 适用条件 表x,创建索引a,b,c。主键y…

    数据库 2023年5月24日
    078
  • java读取文本文件的方法

    文本文件是我们日常开发中,常用的简单存储载体,那么如何读取文本文件呢? 下文笔者将通过示例的方式讲述读取文本文件的方法分享,如下所示: 文本文件是最常用的文件格式之一, 下文是笔者…

    数据库 2023年6月11日
    0113
  • MySQL数据库索引介绍

    一、什么是索引 索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key 表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树 二、…

    数据库 2023年5月24日
    070
  • 【数据库】 — MySQL中查询当前时间间隔前1天的数据

    1.背景 在实际项目中,我们会遇到分布式定时任务执行的情况。有时在执行定时任务时,如果查询的数据量比较大,我们会选择执行前几天过滤的数据。 [En] In the actual p…

    数据库 2023年5月24日
    052
  • git 开发规范

    开发总结最重要的是文档和开发流程 文档最重要:记录开发学习的内容,可以是一种总结,此为其一。留下文档可助后生快速入门,减少学习和指导成本,此为其二。来日需要对项目二次开发或者重构追…

    数据库 2023年6月9日
    0137
  • Java学习-第一部分-第三阶段-项目实战:满汉楼项目

    满汉楼项目 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 注意:笔记内容仅为实现该项目的基本后端功能,并不会实…

    数据库 2023年6月11日
    0103
  • 浅谈GTID及简单测试

    今天简单介绍一下GTID,并有部分相关实验。 GTID相信大家都不陌生,GTID的英文全称为Global Transaction Identifier,在MySQL主从架构中应用广…

    数据库 2023年6月16日
    070
  • 从 KeyStore 中获取 PublicKey 和 PrivateKey

    KeyStore(译:密钥存储库) 代表用于加密密钥和证书的存储设施。 KeyStore 管理不同类型的 entry(译:条目)。每种类型的 entry 都实现了 KeyStore…

    数据库 2023年6月14日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球