flags记录了当前字节数组的属性、用来标识到底是sdshdr8还是sdshdr16等 buf保存了字符串真正的值以及末尾的一个整个sds的内存是连续的,统一开辟的 。在大多数操作中,buf内的字符串实体才是操作对象 。统一开辟内存能通过buf头指针进行寻址,拿到整个struct的指针,而且通过buf的头指针减1直接就能获取flags的值, flags = s[-1] 。
更详细的sds的分配可参见sds.c中sdsnewlen的实现部分 。
【redis sds 介绍】
推荐阅读
-
文汇报|伊朗政府发言人确诊感染新冠肺炎,已住院治疗
-
-
-
-
-
-
育儿铺子|虚荣心很强,没钱真养不起!,“花钱大手大脚”的4大生肖女
-
摩登莲子又带一丝丝张扬,张钧甯的短发造型也太帅了吧!有一丝丝叛逆
-
吊带公主裙|外媒:DRAM现货价格本月已上涨10%
-
-
-
DOTA2|DOTA后期最强的十大英雄,第五《恐怖利刃》
-
-
手相学生肖星座运势:魔改歼10C,有多厉害,最强四代机可击落F35
-
-
????|发布三款知识服务新品,得到App举办首届团队节
-
-
-
这俩恶狗非第一次“行凶”!4岁女童自家院中玩耍,被其拖走撕咬 律师:狗主人恐面临刑责
-
情感π|有这几种行为就删掉!,男人在微信上问“约吗”是试探你?别傻了