Couchbase权威指南(十三)

Hello Couchbase

Couchbase存储信息时,信息的值为文档,键是文档ID。这使得开发和部署应用非常简单。在存储信息时,提供文档内容和对应的文档ID。在获取信息时,提供文档ID就可以获取到对应的值。

只要你知道文档ID,就总可以获取到信息的内容。数据简单的按字节顺序存放。这意味着你既可以存放裸信息(例如字串或整数)、复杂的数据结构(例如JSON),也可以存放序列化对象。序列化会转换特定语言的原生对象为合适的字节串,今后从服务器里获取时,它们又可以还原为对象。

基本的存取过程非常简单。下述示例里我使用了Ruby,不过其他语言的客户端都以相同方式工作,因为它们都使用了相同的核心协议。

安装了ruby客户端库后,就可以编写一段简单的程序来存放信息到couchbase,然后再获取信息。如下是示例的hello-wrold.rb程序:

require 'rubygems'

require 'couchbase'

client = Couchbase.new "http://127.0.0.1:8091/pools/default"

client.quiet = false

begin

spoon = client.get "spoon"

puts spoon

rescue Couchbase::Error::NotFound => e

puts "There is no spoon."

client.set "spoon", "Hello World!", :ttl => 10

end
  • 头两行加载必要的库
  • 下一行打开到couchbase集群的连接。此处定义里,URL必须指向集群里的至少一个节点,这里是本机地址。default表示bucket名字,你可以使用其他bucket,假如已经配置了。
  • 后面的行执行获取和存储操作。假如初次获取操作(针对spoon这个ID)失败,我们就将数据写入到DB里。只要文档ID存在,脚本就打印出对应的存放值。

你可以从命令行运行和测试该脚本。第一次运行时,应该输出这个错误串:

shell> ruby hello-world.rb
There is no spoon.

指定的文档并没有存在于数据库,但随后就加进去了。第二次运行时,就可以打印文档的值:

shell> ruby hello-world.rb
Hello World!

此外,字串文档在存储时,赋予了一个过期时间10秒。这意味着在存放信息后,等待超过10秒信息就被删除了。假如首次运行脚本后,超过10秒再第二次运行该脚本,会输出如下错误串:

shell> ruby hello-world.rb
There is no spoon.

尽管这是一个非常简单的示例程序,它描述了使用基本的get/set操作,在couchbase里存取信息的原理。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。