当前位置: 传客网 > Perl文件写入时的缓存问题

Perl文件写入时的缓存问题

2016-12-30 作者:王志

Perl写日志时,发现最后的日志没有写入日志文件。原因是Perl写文件时默认是先写入缓冲区中,当缓冲区写满后,再将缓冲区的内容一起写到文件中。因此,当缓冲区还没有写满时,虽然调用了print函数,但是文件中是看不到写入的内容的,例如下面的代码:

open LOG, '>>', $file_log or die "Open $file_log failed: $!\n";
print LOG "Hello World!\n";
sleep(3600);

执行这段脚本后,打开日志文件后,发现里面并没有“Hello World!”。

解决方法:将文件句柄变成hot,即不进行缓冲,直接写入文件。修改后的代码如下:

open LOG, '>>', $file_log or die "Open $file_log failed: $!\n";
select LOG;
$| = 1;
print LOG "Hello World!\n";
sleep(3600);

这样在运行脚本后,可以在日志文件中立刻看到“Hello World!”。


相关推荐

  • hibernate的一级、二级缓存问题

    14.2.1什么是缓存缓存是介于应用程序和物理数据之间的,其作用是为了降低应用程序对物理数据访问的频次从而提高应用系统的性能。缓存思想的提出主要是因为对物理数据的访问效率要远远低于对内存的访问速度,因而采用了将部分物理数据存放于内存当中,这

  • Ajax缓存问题[2006-04-04]

    今日在做Ajax的项目,发现一个问题:提交数据后,取不回提交的数据。郁闷多时,仔细分析,发现后台日志没有取数据的消息,前端也没有出现“正在读入数据”的提示。因此觉得应该是系统缓存的问题,遂google,解决。方法如下:方法1:服务器端代码加

  • nginx proxy 反向代理 负载均衡 proxy_cache 缓存完整配置文件

      user;worker_processes16;error_log/home/logs/nginx_error.logcrit;pid/usr/local/nginx/logs/nginx.pid;#Specifiesthevaluef

  • 使用flexpaper实现在线预览功能时 ,遇到的flash缓存问题的解放方案

    http://blog.csdn.net/z69183787/article/details/18967765

  • 电子政务系统生命周期的运行和维护问题探讨,软件工程论文

    电子政务系统生命周期的运行和维护问题探讨,软件工程论文伴随着软件产业的快速发展,我国政府电子政务程度不断加深。各地信息化系统建设速度不断加快,越来越多的电子政务系统运行于互联网之上。根据2003年1月1日开始实施的《中华人民共和国政府采购法

  • 怎么解决XP不能访问Win7共享文件的问题 

      Win7设置共享后,可以访问XP的共享文件夹;XP可以进入Win7的电脑浏览共享的目录,但不能访问Win7共享的文件夹,提示没有权限。  首先确认:  (1)两台机器的物理链路是畅通的(能ping通);  (2)两个系统都已经打开打印机

  • 问下试行文件和正式文件的效力问题

    规定、试行规定、暂行规定的有效期各有何规定?AsRoma托蒂V11级分类:法律被浏览1432次2013.01.30CHW8888采纳率:41%11级2013.01.31一般是5年吧,具体要看各省的规定试行法律文件zpuoqv4级分类:财务税

  • 避免因引入头文件过多,导致编译时间过长处理方式

    1,在.h文件里声明@classXXx;在.m实现文件中引入#import"XXx.h"然后把常用的写入预编译.pch文件中。2,iOS7新特性模块编程,Xcode5以上优化Buildsetting->EnableModules(Ca

  • PHP文件缓存类实现代码

    本篇内容重点讲解了PHP文件缓存类实现代码,php中缓存分类数据库缓存,文件缓存和内存缓存,对php缓存感兴趣的朋友可以学习学习下面的文章。php中缓存分类数据库缓存,文件缓存和内存缓存,下面我来给各位同学详细介绍PHP文件缓存类实现代码,

  • 技巧:苹果电脑怎么清理缓存文件

    每一台电脑使用之后都需要我们不断维护才能更好的运行,长期使用。尽管网上一直流传着多种清理Mac的操作方法,但不少Mac用户仍在为如何清理Mac系统中的文件缓存十分烦恼,小编本集为大家带来了快速清理的使用技巧,这种方法你一定可以立即掌握,快来

  • Ajax缓存的问题.

    昨天被问到如何制止Ajax缓存的问题竟然没想到过,Ajax的本质就是将状态保存在客户端,因此资源的缓存和再利用是他的优势所在,但有时候不希望被缓存,例如计数器,不同请求的计数器得到的结果应该是最新的。在线时长也应该每次刷新不一样。解决办法是

  • PHPExcel解决内存占用过大问题-设置单元格对象缓存

    PHPExcel解决内存占用过大问题-设置单元格对象缓存PHPExcel是一个很强大的处理Excel的PHP开源类,但是很大的一个问题就是它占用内存太大,从1.7.3开始,它支持设置cell的缓存方式,但是推荐使用目前稳定的版本1.7.6,

  • 利用php的ob缓存机制实现页面静态化

    利用php的ob缓存机制实现页面静态化首先介绍一下php中ob缓存常用到的几个常用函数ob_start():开启缓存机制ob_get_contents():获取ob缓存中的内容ob_clean()清除ob缓存中的内容,但不关闭缓存ob_en

  • PHP高效文件缓存类FCache

    本文来自友链站点:红色石头一些小伙伴或许用的阿里云低配置,一般都访问不错,但可能会出现mysql崩溃的问题,提单说请加内存,这回复还不如直接说:请交钱!于是红色石头在git找了php的文件缓存,发现都是将缓存放到一个缓存文件!!!意味着:1

  • ASP.NET性能优化之构建自定义文件缓存

      ASP.NET性能优化之构建自定义文件缓存  ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的。这意味着假如我们的站点含有大量的缓存,则很轻易消耗掉本机内存。现在,借助于.NET4.0中的OutputCach

  • 讲解PHP文件缓存的性能测试

    媒介:在开辟MooPHP的进程中,为了寻觅更为高效的缓存方式,对于两类最常用的慢存方法举行了测试。PHP常用缓存方式:第一类,把需求缓存的数据举行处置,构成PHP能够直交施行的白件。正在须要慢存数据的时分,通功include方法引进,并利用

  • 无盘客户机如何快速解决缓存

      有时网吧常常会需要配置缓存,主要是用服务器内存或高性能磁盘作为服务器高负荷硬盘的缓存,方格子无盘当然也不例外。这其实也是网管们必须掌握的网吧无盘技术,这里我们就详细说说方格子无盘客户机快取缓存的配置方法。  相信使用方格子无盘的网友都知

  • Redis缓存对外接口Jedis使用中对于序列化问题的处理

    首先要批评新浪的博客,居然不会自动保存?而且格式错误就直接后面文章都被吞了?太差了做的。在非目标平台中使用Jedis获取目标平台的Redis缓存的过程中,会遇到序列化的问题。首先对于键值的序列化,我们在目标平台中存入键值的时候并不希望以序列

  • 关于在JAVA下的文本文件读写问题

    这两天被读写文本文件给弄伤了,怎么调都有问题,其实读写无非就是用Reader和Writer下的类进行操作,但是我想边读边写一个文本文件,以实现近修改文本文件中的部分行,但就是不停出错。今天终于发现问题就出来“边读边写同一个文件”这里,首先给

  • 织梦DEDECMS缓存文件时间长度的修改方法

    本文实例讲述了织梦DEDECMS缓存文件时间长度的修改方法。分享给大家供大家参考。具体方法如下:织梦DEDECMS默认对部分信息使用了缓存功能,以便加速网站访问,提高网站性能,但在做网站时,常常会遇到很多即时调用信息的问题,默认的解决方法设

返回
顶部