如何在Tarantool中创建空间?

问题描述

我已经启动了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 })