有什么方法可以在东京内阁数据库中存储一组数字?例如,我有可预测的值数组,例如
1 => [1, 2, 444, 0.987],
2 => [2, 23, 123, -0.234],
3 => [3, 1, 34, 1.456]
我想将上述内容存储在TC固定长度db中。有没有办法将上面的数据存储为数组而不是字符串?
答案 0 :(得分:1)
Tokyo Cabinet允许任意字节序列作为键和值,因此架构非常适合您。第一步是决定如何存储每个号码。这可以是float,double或fixed point(例如BigDecimal)。
然后,您决定如何序列化数组。这可能是连续的:
num => 1 2 444 0.987
TC值只是连接在一起的所有数值。例如。使用32位浮点数:
num => 0x 3f 80 00 00 40 00 00 00 43 de 00 00 3f 7c ac 08
另一种可能性是链表:
key => num next_key
1 => 1.1 2
2 => 2 3
3 => 444 4
4 => 0.987 0
您连接当前值和数组中的下一个键
这提供了链表的传统优点,包括轻松插入中间。