编辑
2023-11-30
后端
00

冷备份和热备份是数据备份中常用的两种方法,它们在备份过程中的操作方式和对系统运行的影响有所不同。

编辑
2023-11-30
Redis源码阅读
00

Redis的内存分配策略是通过封装标准的内存分配函数来实现的,具体的实现代码在zmalloc.czmalloc.h文件中。下面我将详细解释Redis的内存分配策略,并结合源码分析进行讲解。

Redis的内存分配策略主要包括以下几个方面:

  1. 内存分配库的选择:Redis支持多种内存分配库,如jemalloc、tcmalloc等。在zmalloc.h文件中,通过条件编译和宏定义来选择使用哪个内存分配库。根据不同的平台和编译选项,Redis会选择合适的内存分配库。
编辑
2023-11-30
Redis源码阅读
00

Redis的bitmap底层实现是通过一个char数组来表示,每个元素对应8个bit位。这个数组可以看作是一个字符串,其中每个字符都是一个字节,而每个字节又对应8个bit位。这种底层实现方式使得bitmap在存储空间上非常高效。

编辑
2023-11-30
Redis源码阅读
00

Redis的geospatial(地理空间)功能是通过对geohash的封装来实现的。具体的底层实现源码位于redis/src/geo.credis/src/geohash_helper.credis/src/geohash.c文件中。

首先,让我们来看一下geoadd命令的实现,这个命令用于将地理位置添加到Redis中的有序集合中。

编辑
2023-11-30
Redis源码阅读
00

Redis的intset(整数集合)是一种用于存储整数集合的底层数据结构。它可以保存16位、32位或64位的整数值,并且保证集合中不会出现重复的元素 intset的数据结构定义如下: