自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员的自我修养

积跬步 积小流

  • 博客(3)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis源码解析:08对象

前面介绍了Redis用到的所有主要数据结构,比如简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合等。然而Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都用到了至少一种前面所介绍的数据结构。           Redis在执行命令之前,根据对象的类型

2016-02-28 16:14:40 947

原创 Redis源码解析:07压缩列表

压缩列表(ziplist)是列表键和哈希键的底层实现之一。当列表键只包含少量列表项,并且每个列表项要么是小整数值,要么是长度较短的字符串时;或者当哈希键只包含少量键值对,并且每个键值对的键和值要么是小整数值,要么是长度较短的字符串时,那么Redis就会使用压缩列表来做为列表键或哈希键的底层实现。           压缩列表是Redis为了节约内存而开发的,可用于存储字符串和整数值。它是一个顺

2016-02-21 17:32:06 1088

原创 Redis源码解析:06整数集合

整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。         intset可以保存类型为int16_t,int32_t,int64_t的整数值,并且保证集合中不会出现重复元素。         整数集合的结构体定义在intset.h中: typedef struct intset {

2016-02-14 08:57:18 675

柔性数组成员

C99中引入了柔性数组成员的概念。C99 中,结构体中的最后一个元素允许是未知大小的数组,称为柔性数组成员(flexible array member),柔性数组成员前面必须至少还有一个其他成员,而且柔性数组成员必须是结构体的最后一个成员。一个包含柔性数组成员的结构体或(递归的)包含这样结构体的联合体,不能成为一个结构体的成员或数组的元素。

2018-09-26

空空如也

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

TA关注的人

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