实现持久计数器
Implement persistent counter
我想创建一种持久的计数器,但我不想为此使用数据库(没有其他原因,但我更愿意避免创建 table 只是为了有一个计数器反正过几个月我就不需要了)。
所以我的问题是我想计算我在一个函数中做了多少次但是什么时候
脚本重新运行我想增加现有计数。
我想创建一个文件,然后将计数添加到文件并更新文件,但我想也许
有一个抽象可以用于这样的事情。
如果您不在并发环境中使用计数器,
use strict;
use warnings;
sub increment {
my ($file) = @_;
open my $fh, "+>>", $file or die $!;
seek($fh, 0, 0);
my $count = <$fh> // 0;
seek($fh, 0, 0);
truncate($fh, 0);
print $fh ++$count;
close $fh or die $!;
return $count;
}
my $current_count = increment("/tmp/counter");
我想创建一种持久的计数器,但我不想为此使用数据库(没有其他原因,但我更愿意避免创建 table 只是为了有一个计数器反正过几个月我就不需要了)。
所以我的问题是我想计算我在一个函数中做了多少次但是什么时候
脚本重新运行我想增加现有计数。
我想创建一个文件,然后将计数添加到文件并更新文件,但我想也许
有一个抽象可以用于这样的事情。
如果您不在并发环境中使用计数器,
use strict;
use warnings;
sub increment {
my ($file) = @_;
open my $fh, "+>>", $file or die $!;
seek($fh, 0, 0);
my $count = <$fh> // 0;
seek($fh, 0, 0);
truncate($fh, 0);
print $fh ++$count;
close $fh or die $!;
return $count;
}
my $current_count = increment("/tmp/counter");