首页 > 代码库 > 写数据到文件,并同步写到磁盘
写数据到文件,并同步写到磁盘
fwrite 应用层缓存区--->c库缓存区
fflush c库缓存区--->内核缓存区
fsync 内核缓存区--->磁盘
fileno 将文件句柄指针转换为文件描述符
用法实例(redis中的文件写入代码片段)
/* Returns 1 or 0 for success/failure. */ static size_t rioFileWrite(rio *r, const void *buf, size_t len) { size_t retval; retval = fwrite(buf,len,1,r->io.file.fp); r->io.file.buffered += len; if (r->io.file.autosync && r->io.file.buffered >= r->io.file.autosync) { fflush(r->io.file.fp); aof_fsync(fileno(r->io.file.fp)); r->io.file.buffered = 0; } return retval; }
写数据到文件,并同步写到磁盘
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。