python的bsddb模块中,key和value都是只能为一个,而且都是字符串类型,这个和Berkeley DB的设计不同
发布网友
发布时间:2022-04-10 06:42
我来回答
共2个回答
热心网友
时间:2022-04-10 08:11
bdb不同于一般的关系数据库,它存储的数据只能是以key和value组成的一对数据,使用就像python的字典一样,它不能直接表示多个字段,当要存储多个字段的数据时,只能把数据作为一个整体存放到value中。
使用bsddb面临的第一问题是使用什么数据访问方法,bdb支持四种:btree, hash, queue, recno。这里先说说它们有什么区别,btree是用的树结构来才存储的数据,查询速度很快,可以存储任意复杂的key和value。hash是用的hash算法,速度其实和btree比差不多的,但是当数据量特别巨大时,应该使用hash。queue是队列操作,它有一个*,它只能存储定长的数据,也就是说value的长度是固定的!但是queue可以保持数据的先进先出,并且对数据的插入做了特殊的优化,并且提供行级锁。queue的key必须是数字。recno和queue类似,但是它可以支持变长的value,它的key同样也是数字。追问这个资料我看过好多遍了,我用的是bt,呃···能不答非所问不
热心网友
时间:2022-04-10 09:29
{"key":[3,2.9, True]} 这样行不行?