存储两个相关Hash Keys for Single值的最佳方法

m3t*_*3ta 3 memory perl hash performance

我有一个单一值的两个键,例如

( Foo, baa ) -> integer
Run Code Online (Sandbox Code Playgroud)

我必须使用散列进行查找,因为它是一个大数据问题.

是将数据存储在Hash中的唯一方法

Foo -> integer
Baa -> integer 
Run Code Online (Sandbox Code Playgroud)

此外,两个Keys之间的关系和值不应该丢失.例如,获取或设置相关的整数值(对于Foo和Baa)

ike*_*ami 8

use Data::Alias qw( alias );

my %h = ( Foo => 123 );
alias $h{Baa} = $h{Foo};

$h{Baa} = 456; say $h{Foo};
$h{Foo} = 789; say $h{Baa};
Run Code Online (Sandbox Code Playgroud)

但是存储引用并不那么神奇.

my $s = 123;
my %h = ( Foo => \$s );
$h{Baa} = $h{Foo};

${ $h{Baa} } = 456; say ${ $h{Foo} };
${ $h{Foo} } = 789; say ${ $h{Baa} };
Run Code Online (Sandbox Code Playgroud)