部分代碼中函數(shù)名一致,導(dǎo)致編譯報(bào)錯(cuò),因此需要為對(duì)應(yīng)的函數(shù)加static修飾,報(bào)錯(cuò)如圖 4-7所示。

 

圖 4-7  函數(shù)重定義錯(cuò)誤

    由于SylixOS默認(rèn)棧空間大小無(wú)法滿(mǎn)足服務(wù)器對(duì)棧空間的需求,因此修改棧空間大小,具體代碼如程序清單 4-2所示。

程序清單 4-2  設(shè)置棧空間大小

int main(intargc,char **argv) {

   LW_CLASS_THREADATTR threadAttr;

   LW_HANDLE            hThreadId;

 

   __GiArgc  = argc;

   __GppcArgv = argv;

 

   Lw_ThreadAttr_Build(&threadAttr,

                        350 * LW_CFG_KB_SIZE,

                        LW_PRIO_NORMAL,

                        LW_OPTION_THREAD_STK_CHK,

                        LW_NULL);

 

   hThreadId = Lw_Thread_Create(t_server, redisServer, &threadAttr, LW_NULL);

   if (hThreadId ==LW_OBJECT_HANDLE_INVALID) {

        return (PX_ERROR);

   }

 

   Lw_Thread_Join(hThreadId,NULL);

 

   return ERROR_NONE;

}

    SylixOS下rename的實(shí)現(xiàn)是用新文件直接替換原文件,由于原文件已經(jīng)存在可能導(dǎo)致替換失敗,因此在rename前需要先刪除原文件,具體代碼如程序清單 4-3所示。

程序清單 4 3  rename的使用

unlink(filename);

if (rename(tmpfile,filename) == -1) {

   serverLog(LL_WARNING,Error movingtempappend only file on the final destination: %s,strerror(errno));

   unlink(tmpfile);

   return C_ERR;

}

 

    將工程文件內(nèi)的fork通過(guò)posix_spawn函數(shù)進(jìn)行功能替換,替換完成后編譯工程,生成服務(wù)器的可執(zhí)行程序即可。

4.2 動(dòng)態(tài)庫(kù)工程創(chuàng)建

    創(chuàng)建libredis動(dòng)態(tài)庫(kù)工程,刪除libredis.c文件,導(dǎo)入hiredis文件夾,工程如圖 4-8所示。

 

圖 4-8  動(dòng)態(tài)庫(kù)工程

    鏈接cextern動(dòng)態(tài)庫(kù),在專(zhuān)家模式下修改源文件和頭文件目錄,如圖 4-9所示。

 

圖 4-9  源文件和頭文件路徑

    編譯完成即可。

5. Redis的使用

    運(yùn)行服務(wù)器,redis.conf為服務(wù)器配置文件,可對(duì)服務(wù)器功能進(jìn)行配置,運(yùn)行服務(wù)器如圖 5-1所示。

 

圖 5-1  運(yùn)行Redis服務(wù)器

    運(yùn)行測(cè)試程序,測(cè)試Redis的API功能是否正常,運(yùn)行結(jié)果顯示功能正常,具體現(xiàn)象如圖 5-2所示。

 

圖 5-2  測(cè)試用例運(yùn)行結(jié)果

6. 參考資料

官網(wǎng):
https://redis.io/
博客: 
http://blog.csdn.net/kingqizhou/article/details/8104693
文檔:
《Redis命令參考手冊(cè)》
《Redis實(shí)戰(zhàn)》

更多關(guān)于云服務(wù)器域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):www.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » SylixOS移植Redis庫(kù)總結(jié)

登錄

找回密碼

注冊(cè)