Redisbook学习笔记(3)数据类型之字符串

REDIS_STRING (字符串)是Redis 使用得最为普遍的数据类型,它除了是SET 、GET 等命令数据库

的操做对象以外,数据库中的全部键,以及执行命令时提供给Redis 的参数,都是用这种类型数据结构

保存的。ide

字符串编码函数

字符串类型分别使用REDIS_ENCODING_INT 和REDIS_ENCODING_RAW 两种编码:编码

REDIS_ENCODING_INT 使用long 类型来保存long 类型值。spa

REDIS_ENCODING_RAW 则使用sdshdr 结构来保存sds (也便是char* )、long long 、对象

double 和long double 类型值。blog

换句话来讲,在Redis 中,只有能表示为long 类型的值,才会以整数的形式保存,其余类型字符串

的整数、小数和字符串,都是用sdshdr 结构来保存。get

wKioL1L8yHniHrM1AACmeenaYF8525.jpg

编码的选择

新建立的字符串默认使用REDIS_ENCODING_RAW 编码,在将字符串做为键或者值保存进数据库

时,程序会尝试将字符串转为REDIS_ENCODING_INT 编码。

字符串命令的实现

Redis 的字符串类型命令,基本上是经过包装sds 数据结构的操做函数来实现的。

相关文章
相关标签/搜索