首页
/ Couchbase Ruby客户端技术文档

Couchbase Ruby客户端技术文档

2024-12-27 08:56:24作者:齐添朝

1. 安装指南

Couchbase Ruby客户端库已经经过测试,兼容MRI 3.1、3.2和3.3版本。支持的平台包括Linux和MacOS。

要安装Couchbase Ruby客户端,您可以将以下内容添加到应用程序的Gemfile文件中:

gem "couchbase", "3.5.4"

然后执行以下命令安装:

$ bundle install

或者,您也可以单独安装:

$ gem install couchbase

对于某些平台,我们预先编译了二进制包。在某些情况下无法使用二进制包时,可以传递--platform=ruby参数给gem install命令(或者检查Bundler的specific_platformforce_ruby_platform选项)。在后一种情况下,请参阅开发部分了解构建依赖。

2. 项目的使用说明

以下是使用Couchbase Ruby客户端进行数据操作的基本步骤:

require "couchbase"
include Couchbase # 为简洁起见,包含Couchbase模块

# 初始化库
cluster = Cluster.connect("couchbase://127.0.0.1", "Administrator", "password")

# 打开bucket和collection以进行数据操作
bucket = cluster.bucket("my_bucket")
collection = bucket.default_collection

# 更新或插入文档
res = collection.upsert("foo", {"bar" => 42})
res.cas
#=> 22120998714646

# 从集合中检索文档
res = collection.get("foo")
res.cas
#=> 22120998714646
res.content
#=> {"bar"=>42}

# 删除文档
res = collection.remove("foo")
res.cas
#=> 47891154812182

# 从集合中获取前3个酒店数量最多的城市
res = cluster.query("
          SELECT city, COUNT(*) AS cnt FROM `travel-sample`
          WHERE type = $type
          GROUP BY city
          ORDER BY cnt DESC
          LIMIT 3",
        Options::Query(named_parameters: {type: "hotel"}, metrics: true))
res.rows.each do |row|
  p row
end
#=> {"city"=>"San Francisco", "cnt"=>132}
#   {"city"=>"London", "cnt"=>67}
#   {"city"=>"Paris", "cnt"=>64}

3. 项目API使用文档

关于API的详细信息可以通过yard库生成。以下是如何生成API参考的步骤:

$ gem install yard

以下是生成特定git标签的API引用的步骤:

$ rake doc

API参考可以通过网页浏览器访问(其中VERSION是SDK的当前版本):

$ firefox doc/couchbase-ruby-client-VERSION/index.html

4. 项目安装方式

安装Couchbase Ruby客户端的详细步骤如下:

  • 将Couchbase Ruby客户端的依赖项添加到 Gemfile 文件中。
  • 使用 bundle install 命令或 gem install 命令安装依赖项。

对于编译和打包步骤,请参考以下命令:

$ bundle exec rake compile

运行测试:

$ bundle exec rake test

进行代码风格检查:

$ bundle exec rubocop

构建和安装Ruby gem:

$ gem build couchbase.gemspec
$ gem install couchbase-VERSION.snapshot.gem

在完成以上步骤后,您就可以在项目中使用Couchbase Ruby客户端进行数据操作了。

登录后查看全文
热门项目推荐

项目优选

收起
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
338
1.19 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
898
534
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
188
265
kernelkernel
deepin linux kernel
C
22
6
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
140
188
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
374
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
86
4
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
arkanalyzerarkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架
TypeScript
114
45