Berkeley-db не поддерживает несколько таких ключей. Каждая запись может иметь только один ключ.
Вы можете объединить ключи в один ключ, как вы заявили.
Вы можете использовать MLDBM , чтобы создать вид вложенных ключей. Но это работает, храня сериализованный хеш под key1
, поэтому будет очень неэффективно, если у вас много ключей, вложенных в ключ верхнего уровня.
Или вы можете отказаться от BDB и использовать настоящую базу данных SQL. DBD :: SQLite прост в установке и включает ядро базы данных SQLite вместе с драйвером.
Я бы выбрал сцепление ключей или реальную базу данных, в зависимости от того, что именно вы пытаетесь сделать.