flags记录了当前字节数组的属性、用来标识到底是sdshdr8还是sdshdr16等 buf保存了字符串真正的值以及末尾的一个整个sds的内存是连续的,统一开辟的 。在大多数操作中,buf内的字符串实体才是操作对象 。统一开辟内存能通过buf头指针进行寻址,拿到整个struct的指针,而且通过buf的头指针减1直接就能获取flags的值, flags = s[-1] 。
更详细的sds的分配可参见sds.c中sdsnewlen的实现部分 。
【redis sds 介绍】
推荐阅读
-
谈笑者一鸣|搞笑GIF趣图段子:这妹子估计也是和猴子学过两招的
-
齐鲁黄河从这里入海|东营北二路沿线及金湖银河片区项目建设快马加鞭,打造宜居生态城市
-
-
[美食]家人最馋此菜,煎一煎,炒一炒,鲜香多汁又下饭,超解馋
-
between 和 among 的用法区别 between的用法
-
黑龙江省@截至8日24时 黑龙江累计境外输入确诊病例127例
-
前沿追踪|生死存亡之际华为要靠超越iPhone打翻身仗?库克:这么激进干嘛
-
偶像组合|偶像组合销量被质疑,至少六万张专辑去向不明
-
财政部:预计59家央企划转国资充实社保约6600亿元
-
水果都是怎么生长的?忍了菠萝,忍了雪莲果,最后一种在种花?
-
格隆汇APP|格隆汇港股聚焦(10.6)︱绿城中国首九月合同销售额增43%;时代中国控股前九个月销售597亿
-
-
-
杭州交通918|急得一宿未睡...,妈妈看了一眼儿子的身份证尾号
-
-
-
湖人队|0+0+0!湖人锤爆快船,他却隐身成毒瘤,詹姆斯还要忍他多久?
-
「cnBeta」英国企业和政府宣布打造完全覆盖农村的移动网络
-
-
北京日报客户端|柏林主城区疫情超“警戒线”,德国新冠确诊病例超30万例