如何在 Tarantool 中创建 space?
How to create a space in Tarantool?
我已经启动了 Tarantool 并调用了 box.cfg{}
进行第一次配置。
下一步:我想在 Tarantool 中创建一个 space。
我阅读了文档,但我并没有完全理解所有内容。
我应该怎么做?
通过 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
,如果 space 已经存在,tarantool 将不会尝试创建它。
必须创建索引,因为 Tarantool 不允许您在 space 中插入没有任何索引的数据。
创建 space 后,您可以插入 select 数据:
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 将创建一个序列,甚至在您删除 space 时删除它。您也可以跳过 parts
选项,因为它默认为 {1, 'unsigned'}
box.space.users:create_index("pk", { if_not_exists = true, sequence = true })
我已经启动了 Tarantool 并调用了 box.cfg{}
进行第一次配置。
下一步:我想在 Tarantool 中创建一个 space。 我阅读了文档,但我并没有完全理解所有内容。
我应该怎么做?
通过 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
,如果 space 已经存在,tarantool 将不会尝试创建它。
必须创建索引,因为 Tarantool 不允许您在 space 中插入没有任何索引的数据。
创建 space 后,您可以插入 select 数据:
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 将创建一个序列,甚至在您删除 space 时删除它。您也可以跳过 parts
选项,因为它默认为 {1, 'unsigned'}
box.space.users:create_index("pk", { if_not_exists = true, sequence = true })