日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Redis rio

系統 2848 0

Redis rio的代碼很少,基本上包了一個虛基類:

struct _rio {
? ? void (*update_cksum)(struct _rio *, const void *buf, size_t len);

? ? /* The current checksum */
? ? uint64_t cksum;

? ? /* Backend-specific vars. */
? ? union {
? ? ? ? struct {
? ? ? ? ? ? sds ptr;
? ? ? ? ? ? off_t pos;
? ? ? ? } buffer;
? ? ? ? struct {
? ? ? ? ? ? FILE *fp;
? ? ? ? ? ? off_t buffered; /* Bytes written since last fsync. */
? ? ? ? ? ? off_t autosync; ? // buffered超過這個值自動更新,默認為0
? ? ? ? } file;
? ? } io;
};

API如下:

static inline size_t rioWrite(rio *r, const void *buf, size_t len) ; ?// 調用 rio->write,同時更新checksum
static inline size_t rioRead(rio *r, void *buf, size_t len) // 調用 rio->read,同時更新checksum
static inline off_t rioTell(rio *r); ?//直接調用rio->tell

void rioInitWithFile(rio *r, FILE *fp); ?// 初始化rio->io->file
void rioInitWithBuffer(rio *r, sds s); ?// 初始化rio->io->buffer

// ?以下幾個是High Level Interface,用于寫AOF文件
size_t rioWriteBulkCount(rio *r, char prefix, int count);
size_t rioWriteBulkString(rio *r, const char *buf, size_t len);
size_t rioWriteBulkLongLong(rio *r, long long l);
size_t rioWriteBulkDouble(rio *r, double d);


// 更新crc64 checksum

void rioGenericUpdateChecksum(rio *r, const void *buf, size_t len);


// 設置自動sync的字節數

void rioSetAutoSync(rio *r, off_t bytes);


?

Redis rio


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 紫金县| 枣庄市| 桦南县| 会东县| 竹溪县| 潢川县| 八宿县| 琼结县| 五寨县| 海伦市| 抚州市| 清涧县| 藁城市| 称多县| 仁怀市| 新绛县| 东乌珠穆沁旗| 灵丘县| 江油市| 土默特左旗| 东乌珠穆沁旗| 罗源县| 凌源市| 顺平县| 长阳| 乌鲁木齐市| 祁门县| 南京市| 永登县| 文成县| 石屏县| 保康县| 安徽省| 浮山县| 瑞丽市| 石门县| 宁海县| 襄城县| 承德市| 鹰潭市| 北宁市|