0%

基本结构

Redis中没有使用C语言原生的字符串,而是在其基础上包装了一个新的数据结构-SDS,其结构如下

1
2
3
4
5
6
7
8
9
10
11
// 指向下面结构中的buf指针
typedef char *sds;

struct __attribute__ ((__packed__)) sdshdr8 {
uint8_t len; // 使用到的空间
uint8_t alloc; // 分配的C语言字符串空间,不包括头部和C字符串的中止符号null
unsigned char flags; // 使用后三位表示是sdshdr8/sdshdr16的类型
char buf[]; // 实际字符数组的空间
}
// 类似的还有 sdshdr16, sdshdr32等,用于节省空间
// 其中的所有方法都在此结构基础上实现
阅读全文 »

Python 中参数的传递非常灵活,不太容易记住理解,特整理如下备忘:

普通参数

即按照函数所需的参数,对应位置传递对应的值,可以对应 Java 中的普通参数

1
2
3
4
5
6
7
def max(a, b):
if a > b:
return a
else:
return b

max(5, 13) # = 13
阅读全文 »