gpt4 book ai didi

perl - 在数据库上存储对象并检索它

转载 作者:行者123 更新时间:2023-12-04 19:15:51 25 4
gpt4 key购买 nike

我有一个 perl 对象(对引用数组的引用),如下所示:

my $a = [ [$a, $ab, $c ], [$a, $b, $c] ] ;

并需要将其存储在数据库中然后检索它。

有人可以建议一个好的机制来序列化甚至压缩它然后将它存储在数据库中吗?然后反序列化它并在代码中使用它?

最佳答案

您可以使用任何已知的序列化程序,例如JSON::XSStorable .Storable如果您想将引用检索为引用而不是值的副本,则更好。然后在满足存储要求的任何类型(VARCHAR、BLOB、...)的字段中保存序列化对象。

use Storable qw(nfreeze thaw);
use DBI;

# ... connect to database
# Store
my $data = [ [$a, $b, $c ], [ $a, $b, $c ] ];
my $bytestream = nfreeze $data;
$dbh->do('insert into table (field) values(?)', undef, $bytestream);

# Retrieve
$bytestream = $dbh->selectrow_array('select field from table where ...');
$data = thaw $bytestream;

此外,您可以压缩 $bytestream ,例如,通过 IO::Compress::Gzip
my $bytestream = gzip nfreeze $data;

关于perl - 在数据库上存储对象并检索它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com