加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

关于PERL的数据库

发布时间:2020-12-16 00:31:47 所属栏目:大数据 来源:网络整理
导读:? 关于PERL的数据库 DBM简介: DBM是一种文件数据储存数据,由于采用哈希结构进行连接,因此具有一些数据库的特点功 能与普通文本数据库相比,具有稳定,检索速度快和支持量大的优点,由于DBM是从Unix系统 中移植来的,因此在Unix/linux系统中优点比较明显,
?

关于PERL的数据库

DBM简介:
DBM是一种文件数据储存数据,由于采用哈希结构进行连接,因此具有一些数据库的特点功
能与普通文本数据库相比,具有稳定,检索速度快和支持量大的优点,由于DBM是从Unix系统
中移植来的,因此在Unix/linux系统中优点比较明显,而在NT系统中则不太理想,在NT中使用
有时会另数据文件变得十分庞大。
 
DBM的使用:
数据库采用关联数组方式保存数据,并与关联数组结合使用。
打开文件:
dbmopen(%USERFILE,"dbfilename",0666);
此时将把数据值赋给USERFILE关联数组。

关闭文件:

dbmclose(%USERFILE);

添加数据:

?

dbmopen(%USERFILE,0666);
$USERFILE{$no}=value;
dbmclose(%USERFILE);
$no是数组的关联值,必须唯一,否则该关联数据会被更新。

删除数据:

?

dbmopen(%USERFILE,0666);
delete $USERFILE{$no};
dbmclose(%USERFILE);
$no是要删除的关联值。

更新数据:

?

dbmopen(%USERFILE,0666);
$USERFILE{$no}=value;
dbmclose(%USERFILE);

?

历遍数组:


dbmopen(%USERFILE,0644);
%TEMP=%USERFILE;
dbmclose(%USERFILE);
foreach (keys(%TEMP)){
$value=$TEMP{$_};
}

?

############################################## use Fcntl qw(:flock); package PACK::DB; require Exporter; @ISA = qw(Exporter); @EXPORT_OK = qw(dbopen dbclose); ? sub dbopen { ??? my $dbfile = shift; ??? my $lockfile = shift; ??? system("touch $lockfile") unless (-e $lockfile); ??? open my $fh,$lockfile; ??? flock $fh,LOCK_EX; ??? my %dbm; ??? dbmopen(%dbm,$dbfile,0666); ??? return(%dbm,$fh); } ? sub dbclose { ??? my $db = shift; ??? my $lock_handle = shift; ??? dbmclose(%$db); ??? flock $lock_handle,LOCK_UN; ??? close $lock_handle; } ################################# ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读