flags记录了当前字节数组的属性、用来标识到底是sdshdr8还是sdshdr16等 buf保存了字符串真正的值以及末尾的一个整个sds的内存是连续的,统一开辟的 。在大多数操作中,buf内的字符串实体才是操作对象 。统一开辟内存能通过buf头指针进行寻址,拿到整个struct的指针,而且通过buf的头指针减1直接就能获取flags的值, flags = s[-1] 。
更详细的sds的分配可参见sds.c中sdsnewlen的实现部分 。
【redis sds 介绍】
推荐阅读
-
-
一郎科技|如何让微型机器人在人的肠胃里如猎豹一般奔跑?
-
-
-
沪市|A股失守3300点,股票与可转债齐降温,市场的钱都跑哪里去呢?
-
-
铁蛋子聊育儿|不如学习一下奖励逻辑,3招一学就会,还在用金钱奖励娃?效果差
-
街头研究|看起来精致的背心,15种不错的夏季搭配推荐
-
周期|楼继伟:债务周期与经济周期错位,应坚决降杠杆以防债务破灭
-
露露说八卦|为何一个满头珠翠,一个却只插两支步摇?,甄嬛传:果郡王大婚
-
-
「GIC珠宝鉴定师媛媛」时尚服饰穿搭高档珠宝首饰,让她无比惊艳,44岁的她依旧风情万种
-
创业板|创业板注册制受理满月:新申报企业契合三创四新
-
疯狂的前夫|疯狂的前夫!怀疑前妻受挑唆 放火欲同归于尽
-
-
#防汛抗旱#5月四川正式入汛 防汛“临战”重点区域建5级监测网
-
-
-
-
环球网|美国6月份失业率降至11.1%,特朗普特意开记者会发布:证明美国经济正回暖