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

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

的操作对象之外,数据库中的所有键,以及执行命令时提供给Redis 的参数,都是用这种类型

保存的。

字符串编码

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

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

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

double 和long double 类型值。

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

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

wKioL1L8yHniHrM1AACmeenaYF8525.jpg

编码的选择

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

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

字符串命令的实现

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



























本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1358987,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值