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

Redis rio

系統 2606 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條評論
主站蜘蛛池模板: 张家界市| 陇西县| 长葛市| 洪泽县| 莫力| 平遥县| 舞钢市| 沙坪坝区| 福海县| 新野县| 蒙阴县| 金门县| 苍南县| 朝阳市| 民勤县| 德格县| 隆回县| 慈溪市| 巨鹿县| 中西区| 沛县| 贺兰县| 鲁山县| 昌江| 黎川县| 河间市| 莱芜市| 股票| 德阳市| 曲水县| 红安县| 枝江市| 富民县| 囊谦县| 平凉市| 离岛区| 五家渠市| 玉溪市| 双牌县| 岳西县| 大化|