绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
couchbase的安装_Couchbase 101:安装,存储和查询数据
2022-04-11 14:49:14

couchbase的安装

介绍

在本文中,我只想展示Couchbase入门的难易程度,并说明如何“查询”数据。 本教程的基本步骤是:

  1. 安装Couchbase
  2. 建立资料
  3. 查询数据

如果我有时间展示如何从您的应用程序中使用Couchbase(从Java开始),我将尝试发布更多文章。

先决条件:

  • 再简单不过了: 此处提供Couchbase 2.0。 (当前在Developer Preview中)

Couchbase 101:插入和查询数据 安装

我在Mac OS X上使用的是Couchbase,所以让我描述一下这种环境下的安装。 如果您使用其他操作系统,请查看Couchbase文档。

Couchbase的安装非常快(非常快!):

  1. 下载Mac OS X Zip文件。
  2. 双击下载的Zip安装文件以提取内容。 这将创建一个文件Couchbase.app应用程序。
  3. 将Couchbase.app拖放到您选择的安装文件夹中,例如系统Applications文件夹。

启动和配置Couchbase服务器
 
要启动Couchbase服务器,只需双击Couchbase服务器。 服务器启动后,将在OS X菜单中添加一个新图标,以指示服务器已启动并正在运行。 现在,您可以配置Couchbase实例,为此,您只需要访问管理控制台即可,该控制台位于以下位置http://127.0.0.1:8091 (如果需要,请更改IP地址),或者只需进入Couchbase菜单并单击“打开管理控制台”条目。

  1. 欢迎屏幕:单击设置
  2. 设置磁盘和群集配置。 在我的实例上,我保留磁盘存储的默认位置。 只需为您的实例配置内存使用的大小,例如800Mb。 到目前为止,我们只有一个实例,因此无需加入集群。
  3. 选择生成样本数据。 了解更多有关数据和视图的知识将很有趣。
  4. 创建默认存储桶(仅用于测试)。 Couchbase使用存储桶来存储数据。 可以将其与RDBMS世界中的“数据库”进行比较。
  5. 配置更新通知以在发布新版本的Couchbase时发出警报
  6. 使用管理员用户名和密码在后一步配置服务器
  7. 完成此操作后,您将自动重定向到管理控制台。

就是这个! 您已经准备好使用Couchbase服务器。

Couchbase具有许多有趣的功能,尤其是围绕可伸缩性和弹性,但是在本文中,我们不作重点介绍:

  • 插入一些数据并查询它们

插入资料

Couchbase有许多种方法可以使用不同的客户端库(例如Java,Python,PHP,Ruby,.Net,C)来从您喜欢的编程语言处理数据。现在,让我们使用管理控制台来创建和查询数据。

Couchbase可以存储任何类型的数据,但是当您需要使用结构来处理某些数据时,好的方法是使用JSON文档。 因此,让我们使用控制台并创建文档。

要在数据库中创建新文档,请单击“数据桶”选项卡。 如果您已安装示例,则将看到2个存储桶:default和gameim-sample。

让我们在默认存储桶中创建一个新文档:

  1. 单击文档按钮
  2. 点击创建文档
  3. 由于每个文档都必须具有一个ID,例如100。
  4. Couchbase保存文档并添加一些元数据,例如_rev,$ flags,到期
  5. 在描述员工的文档中添加新属性:姓名,部门和薪水,然后保存。 您只需要使用值更新JSON对象
    {
    “ _id”:“ 100”, “名称”:“托马斯”, “部门”:“销售”, “薪水”:5000 }

与其他一些雇员重复该操作:

  1. 200,Jason,Technology,5500
  2. 300,Mayla,Technology,7000
  3. 400,Nisha,Marketing,9500
  4. 500,Randy,Technology,6000
  5. 501,Ritu,Accounting,5400

现在,您的数据库中有一个雇员列表。 那很容易不是吗? 现在让我们查询它们。

直接从其ID 查询数据 访问文档

首先,您可以使用简单的HTTP请求(使用其ID)快速访问文档。 例如,要访问ID为300的Mayla,只需输入以下URL:

  • http://127.0.0.1:8092/default/300

在此URL中,您有:

  • 8092是用于访问数据的Couch API REST端口(其中8091是管理控制台的端口)
  • 默认是存储文档的存储桶
  • 300是文件编号

使用查询搜索数据

因此,我们已经了解了如何访问一个文档。 但是,如果我需要的是:

  • “给我技术部门的所有员工”

为了实现这种查询,有必要创建视图。 Couchbase服务器使用这些视图来索引和搜索您的数据。 视图是用JavaScript编写的Map函数,它将生成与您放入Map函数中的逻辑兼容的键值列表。 请注意,此键值现在已按键索引并排序。 在查询数据时,这一点很重要。
因此,让我们从管理控制台中创建一个新视图:

  1. 单击“视图”选项卡(确保您位于默认存储桶中)
  2. 点击“创建开发视图”
  3. 输入文档和视图名称:
    • 文件名称:_design / dev_dept
    • 视图名称:部门
    • 点击保存
    • 单击您的视图进行编辑
    • 由于我们需要提供属于技术部门的员工列表,因此我们需要创建一个将部门用作键的视图,因此map函数如下所示:

      1. function (doc) {
      2. emit(doc.dept, null);
      3. }

      保存视图

      此函数将文档取入并创建一个列表,其中包含“部门”作为键,而null为值。 在我们的案例中,价值本身并不那么重要。 一个简单的规则是:不要在值中放入太多数据,因为后Couchbase服务器使用此映射创建了索引。 将会看到Couchbase允许开发人员在访问视图时轻松获取文档信息。

      单击“显示结果”按钮,结果将如下所示:

      1. {"total_rows":6,"rows":[
      2. {"id":"501","key":"Accounting","value":null},
      3. {"id":"400","key":"Marketing","value":null},
      4. {"id":"100","key":"Sales","value":null},
      5. {"id":"200","key":"Technology","value":null},
      6. {"id":"300","key":"Technology","value":null},
      7. {"id":"500","key":"Technology","value":null}
      8. ]
      9. }

      正如我们在前面所看到的,可以使用单个URL访问文档,对于视图也是如此。 例如,您可以使用以下URL访问我们刚刚创建的视图:

      现在可以使用查询参数通过键参数对结果进行过滤,该参数使用JSON String输入:

      现在该查询的结果是:

      1. {"total_rows":6,"rows":[
      2. {"id":"200","key":"Technology","value":null},
      3. {"id":"300","key":"Technology","value":null},
      4. {"id":"500","key":"Technology","value":null}
      5. ]
      6. }

      访问视图时,可以使用许多其他参数来控制大小,超时等等。 其中一个非常有趣的是include_docs,它要求Couchbase在结果中包含文档的全部内容。 因此,如果您致电:

      结果是:

      1. {"total_rows":6,"rows":[
      2. {"id":"200","key":"Technology","value":null,"doc": {"_id":"200","_rev":"1-1de6e6751608eada0000003200000000","$flags":,"$expiration":,"name":"Jason","dept":"Technology","salary":5500}},
      3. {"id":"300","key":"Technology","value":null,"doc":{"_id":"300","_rev":"1-f3e44cee742bfae10000003200000000","$flags":,"$expiration":,"name":"Mayla","dept":"Technology","salary":7000}},
      4. {"id":"500","key":"Technology","value":null,"doc": {"_id":"500","_rev":"1-05780359aac8f3790000003200000000","$flags":,"$expiration":,"name":"Randy","dept":"Technology","salary":6000}}
      5. ]
      6. }

      现在让我们创建一个稍微复杂的视图来满足以下业务需求:“给我所有薪水在5000到6000之间的员工”

        因此,现在您知道您需要使用以下Map函数创建一个以薪金为关键的新视图:

        1. function (doc) {
        2. emit(doc.salary, null);
        3. }

        Couchbase在创建/更新索引时会自动对键进行排序,因此,让我们在调用视图时使用startkey和endkey参数。 因此,让我们从以下URL调用视图:

        结果是:

        1. {"total_rows":6,"rows":[
        2. {"id":"100","key":5000,"value":null,"doc":{"_id":"100","_rev":"1-0f33580d780014060000002e00000000","$flags":,"$expiration":,"name":"Thomas","dept":"Sales","salary":5000}},
        3. {"id":"501","key":5400,"value":null,"doc":{"_id":"501","_rev":"1-b1fe5bc79637720e0000003100000000","$flags":,"$expiration":,"name":"Ritu","dept":"Accounting","salary":5400}},
        4. {"id":"200","key":5500,"value":null,"doc":{"_id":"200","_rev":"1-1de6e6751608eada0000003200000000","$flags":,"$expiration":,"name":"Jason","dept":"Technology","salary":5500}},
        5. {"id":"500","key":6000,"value":null,"doc":{"_id":"500","_rev":"1-05780359aac8f3790000003200000000","$flags":,"$expiration":,"name":"Randy","dept":"Technology","salary":6000}}
        6. ]
        7. }

        结论

        在这篇简短的文章中,您将学习如何:

        • 安装Couchbase
        • 使用管理控制台创建数据
        • 用视图查询数据

        当我有更多时间时,我将写另一篇文章,用Java和其他语言做同样的事情。

      分享好友

      分享这个小栈给你的朋友们,一起进步吧。

      Couchbase
      创建时间:2022-04-11 10:08:07
      Couchbase
      展开
      订阅须知

      • 所有用户可根据关注领域订阅专区或所有专区

      • 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

      • 专区发布评论属默认订阅所评论专区(除付费小栈外)

      技术专家

      查看更多
      • LCR_
        专家
      戳我,来吐槽~