`

缓存冲洗函数

阅读更多
    传统的 UNIX 系统实现在内核中都设有缓冲区高速缓存或页高速缓存,大多数磁盘 I/O 都通过缓冲区进行。当向文件写入数据时,内核通常首先将数据复制到缓冲区中,然后排入队列,晚些时候再写入磁盘。这种方式被称为“延迟写(delayed write)”。
    通常,当内核需要重用缓冲区来存放其他磁盘块数据时,它会把所有延迟写数据块写入磁盘。为了保证磁盘上实际文件系统与缓冲区中内容的一致性,UNIX 系统提供了 sync、fsync 和fdatasync 三个函数。
#include <unistd.h>

int fsync(int fd);
int fdatasync(int fd);
                     /* 返回值:若成功,返回0;否则,返回 -1 */
void sync(void);

    sync 只是将所有修改过的块缓冲区排入写队列,然后就返回,并不等待实际写磁盘操作结束。通常,称为 update 的系统守护进程周期性地调用(一般每隔 30 秒)sync 函数,这就保证了定期冲洗(flush)内核的块缓冲区。UNIX 命令 sync(1) 也调用 sync 函数。
    fsync 函数只对由文件描述符 fd 指定的一个文件起作用,并且等待写磁盘操作结束才返回。fsync 可用于数据库这样的应用程序,这种程序需要确保修改过的块立即写到磁盘上。
    fdatasync 类似于 fsync,但它只影响文件的数据部分。而除数据外,fsync 还会同步更新文件的属性。
分享到:
评论

相关推荐

    php变量缓存到文件的函数

    php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。...

    Python-Cashier持久化缓存python函数

    Python中的Cashier库是一个用于实现持久化缓存功能的库,它可以帮助开发者高效地存储和检索函数的结果,避免了重复计算,从而提升了程序性能。在处理大数据或计算密集型任务时,这种缓存机制尤其有用。本文将深入...

    Python 函数的简单 redis 缓存.zip

    Python 函数的简单 redis 缓存 python-redis-缓存Python 函数的简单 redis 缓存要求Redis 5+Python 3.8+(应该可以在 Python 3.6+ 中使用,但未经测试)如何安装pip install python-redis-cache如何使用from redis ...

    php 写入缓存文件、读取缓存文件的函数代码

    首先,写入缓存文件的函数`write_static_cache`可以将数据保存到静态文件中。该函数需要两个参数,`$cache_name`作为缓存文件的名称,`$caches`是要缓存的数据。如果程序处于调试模式(`DEBUG_MODE`为2),则不执行...

    Loadrunner负载测试 浏览器缓存设置

    2. **启用缓存**:相反,如果要模拟有缓存的情况,可以使用`web_cache_enable()`函数开启缓存,并通过`web_cache_control()`来控制缓存策略。例如,可以设置`web_cache_control("cache", "on")`来开启缓存,并通过`...

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    PHP 缓存函数 PHP 设置COOKIE,并且加密COOKIE函数 PHP不缓存数据头 PHP伪造IP PHP全角半角转换函数 PHP农历函数 PHP分页函数 PHP判断字符串是否UTF8格式 php判断爬虫函数 PHP判断远程文件是否存在 PHP...

    redis页面缓存html使用redis实现页面缓存.docx

    callback 实现:在缓存实现中,我们使用了 callback 来实现缓存的回调函数。callback 函数将 request 作为参数,并返回缓存的结果。在我们的例子中,callback 函数返回的是一个字符串,代表着缓存的结果。 测试代码...

    Javascript Memoization 缓存函数使用说明

    通过 Memoization 函数,再次查找相同的值时,直接获取事先缓存好的 value,立刻返回; Memoization 函数 代码如下: var Memoize = function(fn, cache, refetch, obj){ cache = cache || {};//用来缓存结果 return ...

    PHP常用函数手册 PHP函数

    Flush 函数是 PHP 中的一个输出函数,用于刷新 PHP 的输出缓存,尽量将缓存中的内容输出到用户的浏览器。该函数不返回任何值。 Print 函数是 PHP 中的一个基本输出函数,用于输出所有的参数。如果输出成功,返回 ...

    PHP 缓存详情机制

    `ob_flush()`函数则负责将当前缓存中的数据写入到上级缓存(这里是Apache缓存),而`flush()`函数则用于将Apache缓存中的数据发送到浏览器。通过这种方式,“1”会被立即发送到客户端,而“2”则会在5秒后输出。 ##...

    缓存统一处理法

    - `unsignedcharGetServerBufferStatus()`函数用于检查缓存状态,即判断缓存是否已满或为空,并据此更新`gucServerCmdOut`和`gucServerCmdIn`变量。 - `unsignedcharGetServerBuffer(unsignedcharOut)`函数用于获取...

    c#缓存机制,提供缓存功能

    除了以上基础用法,C#的缓存机制还支持事件监听,例如`CacheEntryRemovedCallback`,可以在缓存项被移除时执行回调函数。此外,可以使用`CacheItemPriority`设置缓存项的优先级,优先级高的项在内存不足时更不容易被...

    PHP常用函数

    该函数刷新 PHP 的输出缓存,将缓存中的内容输出到用户的浏览器。 2.Print 函数:print(string arg, string[arg], …); 该函数输入所有的参数,返回值若输出成功,返回 true(1),否则返回 false(0)。 二、字符...

    PHP 缓存类和apc缓存类

    实现 `store` 方法时,使用了 `apc_store` 函数来存储缓存项。需要注意的是,实际的存储键是由 `_storageKey` 方法生成的,该方法未在提供的代码片段中给出,但可以推测它是用来添加前缀并可能进行其他处理的。 ###...

    利用WinInetAPI清除特定网站的IE缓存

    在 `ClearMemory` 子程序中,我们首先使用 `FindFirstUrlCacheEntry` 函数来获取缓存的第一个条目,然后使用 `FindNextUrlCacheEntry` 函数来遍历缓存的所有条目,并使用 `DeleteUrlCacheEntry` 函数来删除指定 URL ...

    PHP缓存技术:memcache函数详解

    本篇文章将深入探讨PHP中的缓存技术,特别是关于`memcache`函数的使用。 `Memcache`是一种分布式内存对象缓存系统,它能够存储数据到内存中,从而加快数据的读取速度,减轻数据库的压力。在PHP中,`memcache`扩展...

    cachedcall:缓存慢函数调用的结果-matlab开发

    CACHEDCALL可用于将慢速函数调用的结果缓存到磁盘您可以使用 cachedcall 调用任意函数。 然后它会检查如果您之前使用相同的参数进行过相同的调用。 如果你然后它会快速加载先前计算的结果磁盘缓存而不是再次计算它们...

    php缓存技术总结

    在PHP中,可以利用输出缓冲函数如ob_start()和ob_get_contents()来实现页面内容的捕获和保存。 二、页面部分缓存 页面部分缓存针对的是动态页面中的某些部分,它缓存不变的数据片段,而动态变化的数据实时更新。这...

    服务器缓存设置 工具

    3. **应用程序缓存配置**:在代码中配置缓存生命周期、容量限制等参数,例如 PHP 使用 `apcu_store` 和 `apcu_fetch` 函数进行缓存操作。 4. **CDN 设置**:在 CDN 提供商的控制面板中,可以设置缓存规则,指定哪些...

Global site tag (gtag.js) - Google Analytics