Sha256: 4c997e2e9f66e302742503268934be5c9406a29b33b005b9e303d2b02ca540b9

Contents?: true

Size: 1.58 KB

Versions: 18

Compression:

Stored size: 1.58 KB

Contents

require 'couchbase'
include Couchbase

def measure(msg)
  start = Time.now
  yield
  printf "%s in %.2f seconds\n", msg, Time.now - start
end

options = Cluster::ClusterOptions.new
options.authenticate("Administrator", "password")
cluster = Cluster.connect("couchbase://localhost", options)

bucket_name = "new_bucket"

all_buckets = cluster.buckets.get_all_buckets
puts "There are #{all_buckets.size} buckets on the cluster"
all_buckets.each do |bucket|
  puts " * #{bucket.name} (type: #{bucket.bucket_type}, quota: #{bucket.ram_quota_mb} MB)"
end

if all_buckets.any? { |bucket| bucket.name == bucket_name }
  measure("Bucket #{bucket_name.inspect} removed") { cluster.buckets.drop_bucket(bucket_name) }
end

settings = Management::BucketSettings.new
settings.name = bucket_name
settings.ram_quota_mb = 100
settings.flush_enabled = true
measure("New bucket #{bucket_name.inspect} created") { cluster.buckets.create_bucket(settings) }

sleep(1)

settings = cluster.buckets.get_bucket(bucket_name)
puts "Bucket #{bucket_name.inspect} settings:"
puts " * healthy?           : #{settings.healthy?}"
puts " * RAM quota          : #{settings.ram_quota_mb}"
puts " * number of replicas : #{settings.num_replicas}"
puts " * flush enabled:     : #{settings.flush_enabled}"
puts " * max TTL            : #{settings.max_expiry}"
puts " * compression mode   : #{settings.compression_mode}"
puts " * replica indexes    : #{settings.replica_indexes}"
puts " * ejection policy    : #{settings.ejection_policy}"

measure("Bucket #{bucket_name.inspect} flushed") { cluster.buckets.flush_bucket(bucket_name) }

cluster.disconnect

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
couchbase-3.0.0.beta.1-universal-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.beta.1 examples/managing_buckets.rb
couchbase-3.0.0.alpha.5-x86_64-linux examples/managing_buckets.rb
couchbase-3.0.0.alpha.5-universal-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.5-x86_64-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.5 examples/managing_buckets.rb
couchbase-3.0.0.alpha.4-x86_64-linux examples/managing_buckets.rb
couchbase-3.0.0.alpha.4-x86_64-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.4-universal-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.4 examples/managing_buckets.rb
couchbase-3.0.0.alpha.3-x86_64-linux examples/managing_buckets.rb
couchbase-3.0.0.alpha.3-x86_64-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.3-universal-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.3 examples/managing_buckets.rb
couchbase-3.0.0.alpha.2-x86_64-linux examples/managing_buckets.rb
couchbase-3.0.0.alpha.2-x86_64-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.2-universal-darwin-19 examples/managing_buckets.rb
couchbase-3.0.0.alpha.2 examples/managing_buckets.rb