【问题标题】:How to create a space in Tarantool?如何在 Tarantool 创建空间?
【发布时间】:2020-09-25 15:45:26
【问题描述】:

我已经启动了 Tarantool,并已致电 box.cfg{} 进行第一次配置。

下一步:我想在 Tarantool 中创建一个空间。 我阅读了文档,但我并没有完全理解所有内容。

我应该怎么做?

【问题讨论】:

    标签: lua tarantool


    【解决方案1】:

    您不需要手动创建序列;只需传递true,tarantool 就会创建一个序列,甚至在您删除空间时将其删除。您也可以跳过parts 选项,因为它默认为{1, 'unsigned'}

    box.space.users:create_index("pk", { if_not_exists = true, sequence = true })
    

    【讨论】:

      【解决方案2】:

      通过 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.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-22
        相关资源
        最近更新 更多