Redis的简单动态字符串(一)

2020-07-01  本文已影响0人  无尘粉笔
355c20788565a40a3905c47785afe397.jpg

Redis没有直接使用C语言的传统字符串表示(以空字符结尾的字符数组)
当Redis需要的的不仅仅是一个字符串的面量,当修改字符串的值的时候。Redis通过SDS来表示字符串的值,(底层都是使用SDS实现的)
举个例子:

redis>set msg "hello world"
ok
redis>get msg
"hello world"

多个数据

redis>rpush msg "hello" "world"
(integer) 2
redis>LRANGE msg 0 -1
''hello"
"world"

redis将保存字符串msg的SDS。键值对的键 msg 值 为"hello"和"world"。

SDS的定义
每个sds.h/sdshdr结构表示一个sds值:

C语言和SDS之间的区别

上一篇 下一篇

猜你喜欢

热点阅读