问题描述
我已经启动了Tarantool,并为第一个配置调用了Box.cfg{}
。
下一步:我想在Tarantool中创建一个空间。 我阅读了文档,但并不太了解。
我应该怎么做?
解决方法
通过Box API创建它:
box.schema.sequence.create('user_seq',{ if_not_exists = true })
box.schema.create_space('users',{ if_not_exists = true,format={
{ name = 'id',type = 'unsigned'},{ name = 'name',type = 'string'},{ name = 'age',type = 'unsigned'}}
})
box.space.users:create_index('pk',{ parts = { 'id' },if_not_exists = true })
使用if_not_exists
,tarantool将不会尝试创建空间(如果已经存在)。
创建索引是强制性的,因为Tarantool不允许您在没有任何索引的空间中插入数据。
创建空间后,您可以插入并选择数据:
box.space.users:insert({ box.sequence.user_seq:next(),'Artur Barsegyan',24 })
box.space.users:get({1})
---
- - [1,'Artur Barsegyan']
...
您可以阅读更多in the documentation.
,您无需手动创建序列;只需传递true
,tarantool就会创建一个序列,甚至在您删除空格时也将其删除。您也可以跳过parts
选项,因为它默认为{1,'unsigned'}
box.space.users:create_index("pk",sequence = true })