青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

redis源碼剖析-字符串

redis源碼剖析-字符串

redis實(shí)現(xiàn)了自己的字符串結(jié)構(gòu)。在文件sds.h/dsd.c中定義。redis中的字符串叫sds(simple dynamic string)。
sds實(shí)質(zhì)是char*:
typedef char *sds;
sds通過sdsnewlen()函數(shù)來創(chuàng)建,sds sdsnewlen(const void *init, size_t initlen)。該函數(shù)內(nèi)部會(huì)創(chuàng)建一個(gè)sdshdr的結(jié)構(gòu),返回值sds,即char *,該結(jié)構(gòu)定義如下:
struct sdshdr
{
        int len;
        int free;
        char buf[];
};
其中l(wèi)en存儲(chǔ)當(dāng)前字符串的長(zhǎng)度,free存儲(chǔ)該結(jié)構(gòu)體剩余可存儲(chǔ)字節(jié)數(shù),buf存儲(chǔ)字符串值。sdsnewlen()函數(shù)在創(chuàng)建sdshdr后,會(huì)返回buf的地址(sdshdr->buf)。
sdsnewlen()函數(shù)創(chuàng)建了字符串,并返回字符串地址sds,要使用sdshdr中的len和free,則需要獲取sdshdr結(jié)構(gòu)體的地址。如何根據(jù)獲得的sds得到sdshdr結(jié)構(gòu)體的地址呢?
redis中參考了linux內(nèi)核關(guān)于通用list(list_head)的實(shí)現(xiàn)機(jī)制,實(shí)現(xiàn)方法如下:
struct sdshdr *sh =  (void*) (sds-(sizeof(struct sdshdr)));
sds是返回的字符串地址,即sdshdr->buf,用sds的地址減去其在結(jié)構(gòu)體中的偏移,即可得到sdshdr的地址。由于buf在sdshdr結(jié)構(gòu)體的最后,所以其偏移就是sizeof(len)+sizeof(free),該偏移恰好是sizeof(struct sdshdr)。
如果buf在sdshdr中的位置是任意的,如何根據(jù)buf的地址獲取sdshdr的地址呢?實(shí)現(xiàn)如下:
假設(shè)現(xiàn)在sdshdr聲明如下:
struct sdshdr
{
        int len;
        char buf[];
        int free;       
};
則sdshdr地址如下獲取:
int offset_buf = (int)((struct sdshdr *)0)->buf;      
struct sdshdr *sh =(struct sdshdr *)( (int)sdsbuf - offset_buf);  
其中sdsbuf是調(diào)用sdsnewlen()返回的buf地址。即 sds sdsbuf = sdsnewlen(...);
((struct sdshdr *)0)->buf 表示當(dāng)結(jié)構(gòu)體sdshdr在地址0時(shí),buf相對(duì)于sdshdr首地址的偏移。

posted on 2012-07-03 00:59 MrRightLeft 閱讀(1461) 評(píng)論(0)  編輯 收藏 引用 所屬分類: redis

<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

導(dǎo)航

統(tǒng)計(jì)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国内精品美女av在线播放| 欧美一二区视频| 欧美激情一区二区三区成人| 亚洲精品一区二区三区福利| 亚洲精美视频| 欧美午夜一区| 欧美中文字幕精品| 另类亚洲自拍| 夜久久久久久| 篠田优中文在线播放第一区| 亚洲成色www久久网站| 亚洲国产精品va在线看黑人| 欧美午夜精品电影| 久久理论片午夜琪琪电影网| 欧美激情中文字幕一区二区| 亚洲女性裸体视频| 久久久精品五月天| 亚洲视屏在线播放| 久久精品一区蜜桃臀影院 | 欧美日韩成人网| 亚洲欧美日韩精品一区二区| 欧美在线国产精品| 一区二区三区蜜桃网| 香蕉乱码成人久久天堂爱免费| 亚洲人成在线观看| 午夜伦理片一区| 亚洲美女黄网| 久久国产精品久久久久久| 国产亚洲电影| 午夜在线精品偷拍| 亚洲精品一二区| 欧美在线观看视频一区二区三区| 91久久精品网| 久久精品国产在热久久| 亚洲欧美日韩综合| 农村妇女精品| 老司机午夜精品视频| 国产精品二区二区三区| 亚洲高清资源| 在线观看日韩欧美| 欧美一区二区日韩| 亚洲综合精品| 欧美人牲a欧美精品| 欧美成人免费全部观看天天性色| 国产精自产拍久久久久久| 亚洲精品护士| 亚洲看片免费| 欧美成人黑人xx视频免费观看| 欧美有码在线视频| 国产精品福利av| 亚洲精选一区| 在线亚洲自拍| 欧美日韩国产一区| 亚洲剧情一区二区| 亚洲最快最全在线视频| 嫩草国产精品入口| 亚洲福利在线看| 亚洲国产人成综合网站| 久久婷婷av| 欧美国产第二页| 最新国产成人av网站网址麻豆| 久久综合一区二区| 免费视频亚洲| 亚洲日本黄色| 欧美日韩高清在线观看| 亚洲精选中文字幕| 亚洲一卡二卡三卡四卡五卡| 欧美日韩一区二区视频在线| 日韩午夜av在线| 亚洲一区bb| 国产欧美一区二区三区视频| 亚洲欧美日韩成人高清在线一区| 性欧美大战久久久久久久久| 国产农村妇女精品| 欧美一区网站| 欧美激情视频一区二区三区免费 | 国产日韩欧美一区| 久久狠狠亚洲综合| 欧美成人dvd在线视频| 亚洲每日在线| 国产精品第2页| 欧美一区二区视频在线观看2020| 久久影院午夜论| 日韩视频二区| 国产精品vip| 久久精品国产亚洲精品 | 一区二区三区精品视频| 国产欧美日韩不卡免费| 久久这里有精品视频 | 性18欧美另类| 亚洲福利小视频| 欧美日韩另类综合| 久久国产精品毛片| 久久亚洲电影| 久久精品99| 欧美高清在线精品一区| 国产精品99久久久久久久vr| 国产精品视频最多的网站| 久久久久91| 夜色激情一区二区| 另类亚洲自拍| 亚洲欧美在线高清| 亚洲精品1234| 国产人成一区二区三区影院| 欧美国产日韩a欧美在线观看| 一区二区三区欧美视频| 欧美成年人网| 欧美在线视频不卡| 亚洲视频免费在线| 在线成人免费观看| 国产精品中文字幕在线观看| 欧美成人资源网| 久久久久久亚洲精品杨幂换脸| 日韩午夜一区| 亚洲大片av| 卡一卡二国产精品| 欧美一区二区三区四区在线观看地址 | 免费观看成人www动漫视频| 亚洲视频在线观看视频| 91久久国产综合久久蜜月精品| 久久国产日韩| 亚洲免费一在线| 国产精品99久久不卡二区| 亚洲欧洲免费视频| 国内揄拍国内精品久久 | 麻豆精品在线播放| 欧美影院精品一区| 亚洲欧美日韩国产中文| av成人老司机| 99re66热这里只有精品4| 亚洲国产精品ⅴa在线观看 | 亚洲视频欧洲视频| 日韩系列欧美系列| 亚洲美女av网站| 亚洲精品日韩精品| 亚洲精选成人| 一本久久青青| 99精品国产在热久久婷婷| 亚洲乱码一区二区| 91久久午夜| 99在线观看免费视频精品观看| 亚洲欧洲美洲综合色网| 亚洲人成人一区二区三区| 亚洲国产欧美一区| 亚洲免费大片| 亚洲特级片在线| 亚洲一区区二区| 午夜久久资源| 久久久久久色| 欧美成人精品| 亚洲精品欧美专区| 日韩视频中午一区| 亚洲午夜在线| 欧美一区二区三区在线视频| 久久久久国产精品一区三寸| 久久综合图片| 欧美日韩成人一区二区三区| 欧美四级电影网站| 国产欧美 在线欧美| 狠狠色伊人亚洲综合成人| 亚洲国产综合91精品麻豆| 中日韩美女免费视频网址在线观看| 一区二区三区产品免费精品久久75 | aa国产精品| 亚洲欧美日韩在线高清直播| 欧美在线播放一区二区| 美女精品视频一区| 欧美精品在线一区二区| 国产精品亚洲综合久久| 在线不卡a资源高清| 一区二区三区精品视频| 久久免费国产精品| 亚洲国产欧美一区二区三区同亚洲| 亚洲免费成人| 久久精品官网| 欧美午夜电影在线观看| 激情亚洲一区二区三区四区| 99在线精品免费视频九九视| 欧美一区二区观看视频| 男人的天堂成人在线| 亚洲视频1区| 美女网站久久| 国产欧美一区二区精品性色| 亚洲黄一区二区三区| 小黄鸭视频精品导航| 亚洲国产婷婷| 欧美在线精品免播放器视频| 欧美日韩国产成人在线免费| 精品不卡一区| 香蕉久久一区二区不卡无毒影院 | 国产精品99久久不卡二区| 久久久精品一品道一区| 国产精品国产自产拍高清av王其| 在线日韩一区二区| 久久不射2019中文字幕| 亚洲视频在线一区观看| 欧美激情在线| 亚洲黄页一区| 欧美二区乱c少妇| 久久精品国产久精国产思思|