自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 深入解读Redis之数据类型解析-ZipList

ZipList,压缩列表,可以任意包含多个节点。

2021-11-04 08:49:20 321

原创 深入解读Redis之数据类型解析-IntSet

整数集合(IntSet),Redis用于保存整数值的集合抽象数据结构,可以保存 int16_t、int32_t 或者 int64_t 的整数值,并且集合满足唯一性(集合不包含重复项)和有序性(集合中的元素按照从小到大有序排序)。

2021-10-29 07:46:58 455

原创 深入解读Redis之数据类型解析-List

List,链表,这里是双向链表,线性结构,这是一种常见的数据结构,拥有很高节点访问和重排的效率,Redis 自行实现的,C 语言没有这一数据结构

2021-10-27 13:43:17 301

原创 深入解读Redis之数据类型解析-DICT

通过对源码的局部解读,可以看到字典的实现基于哈希表,而C语言没有这类型,`Redis` 自行实现了一套,采用 `dict > ht > table > headptr` 的结构。

2021-10-27 11:56:40 431

原创 深入解读Redis之内存模型解析-zmalloc

Redis源码之内存模型解析-zmalloc当前分析Redis版本为6.2,需要注意。由于上一次分析了SDS,发现有关内存管理都是使用的zmalloc,虽然中间取了次别名,与此区别。如果接着看其他数据结构,估计还是zmalloc。藉此,将Redis的内存模型分析直接提前,就是为了后面看其他数据结构,更加清晰。为此,先看一下SDS有关内存,sdsalloc.h。#include "zmalloc.h"#define s_malloc zmalloc#define s_realloc zrealloc

2021-09-29 10:09:34 1133

原创 深入解读Redis之数据类型解析-SDS

Redis源码之数据类型解析-SDS当前分析Redis版本为6.2,需要注意。SDS(Simple Dynamic Strings),简单动态字符串,主要用于存储字符串和整型数据(二进制安全)。在其头文件中是这样定义typedef char *sds,SDS是字符指针类型(或者字符数组),有五种类型,应该根据字符数组长度进行分类的:// 该类型似乎没用,在创建新sds中,检测到类型为sdshdr5,直接设置为sdshdr8struct __attribute__ ((__packed__)) sds

2021-09-28 13:06:40 553

原创 PHP 依赖管理利器 Composer 源码解读

PHP 依赖管理利器 Composer

2021-07-12 16:39:31 835 2

原创 开卷有益:架构整洁之道

架构即设计,一切为了可持续发展道路。

2021-07-08 08:47:13 146

原创 深入解读Althttpd: 第三部分

`Althttpd` 是一款 `Web Server`, 和 `nginx/apache`相似, 相比之下, 该款更轻量化, 功能也较为简洁, `sqlite.org` 在用

2021-07-06 10:01:20 988

原创 深入解读Althttpd: 第二部分

`Althttpd` 是一款 `Web Server`, 和 `nginx/apache`相似, 相比之下, 该款更轻量化, 功能也较为简洁, `sqlite.org` 在用

2021-07-05 16:26:32 1236

翻译 深入解读Althttpd: 第一部分

`Althttpd` 是一款 `Web Server`, 和 `nginx/apache`相似, 相比之下, 该款更轻量化, 功能也较为简洁, `sqlite.org` 在用

2021-07-02 11:18:01 4676

原创 有关PHP的DEBUG一点想法

环境构建# 创建网络[默认bridge]docker network create nginx-php # 创建php容器docker run -d -p 9000:9000 -v E:\MonkeyCode\local\php:/data/projects --name dev-php-v7.3 --network nginx-php php:7.3-fpm-alpine# 创建nginx容器docker run -d -p 8000-8080:8000-8080 -v E:\Monkey

2021-06-08 22:07:34 270 3

原创 C语言进阶之堆栈

栈, 是硬件, 主要作用表现为一种数据结构, 是只能在一端(栈顶, 另一端为栈底)插入和删除数据的特殊线性表, 在计算机系统的动态内存区域.

2021-03-11 14:04:28 125

原创 压缩算法之霍夫曼编码

据百度百科, 霍夫曼编码, 又称为哈夫曼编码(Huffman), 一种可变字长编码, 在1952年提出的.最小冗余编码, 如果知道一组数据中符号出现的频率,就可以用一种特殊的方式来表示符号从而减少数据需要的存储空间.熵, 根据信息的内容所有的数据都会表现出一定的特性. 当然, 一组数据的熵是每个数据熵的总和.前缀树, 指一组代码中的任何一个编码都不是另一个编码的前缀.霍夫曼编码, 是一种基于最小冗余编码的压缩算法, 采用数据中符号和频率构建的二叉树(前缀树). 该二叉树构建过程是将每个符号.

2021-03-05 15:45:56 1131

原创 元芳, 我在 Win10 上用 Docker 肝了个 LNMP , 康康?

难得难得, 看好咯, 就是我, Speauty, 对, 让你加班的 Bug 就是我写的. 比如这个, 让你领略一下 Docker 在 Win10 上安装 lNMP 的风骚. 一顿啪啪啪, 爽.

2020-03-28 14:59:15 342

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除