Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/volvofixthis/go-couchbase-cli
CLI client for Couchbase KV Engine written in Golang
https://github.com/volvofixthis/go-couchbase-cli
benchmark cli client couchbase golang kv
Last synced: 4 days ago
JSON representation
CLI client for Couchbase KV Engine written in Golang
- Host: GitHub
- URL: https://github.com/volvofixthis/go-couchbase-cli
- Owner: volvofixthis
- License: mit
- Created: 2022-06-13T14:12:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-11T12:59:56.000Z (over 2 years ago)
- Last Synced: 2024-06-20T13:31:56.961Z (5 months ago)
- Topics: benchmark, cli, client, couchbase, golang, kv
- Language: Go
- Homepage:
- Size: 30.3 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Description
CLI client for Couchbase KV engine written in Golang and using Couchbase SDK. Can be used as an example or standalone util for making quick tests. For example you can check access to Couchbase KV engine from k8s pod.### Build
Application can be built using make and Golang compiler. Compiled binary can be found in bin folder:
make build### Usage
Get help:
go-couchbase-cli kv --help
go-couchbase-cli kv get --help
go-couchbase-cli kv upsert --help
go-couchbase-cli bucket --helpUpsert with string value:
go-couchbase-cli kv --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" upsert -k kus3 --ttl 15m -v "just string"Operations insert, upsert, replace are supported:
go-couchbase-cli kv --dsn "couchbase://couchbase.local" -u test_v1_cahce -p "password123" -b "test_v1_cache" upsert --transcoder json -k kus3 --ttl 15m -v '{"first_name": "M", "last_name": "L"}'Writing raw json value:
go-couchbase-cli kv --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" upsert --transcoder raw_json -k kus3 --ttl 15m -v '{"first_name": "M", "last_name": "L"}'Receiving json value:
go-couchbase-cli kv --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" get --transcoder json kus1 kus2 kus3Removing by key:
go-couchbase-cli kv --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" remove kus1 kus2 kus3Pinging nodes of cluster. If domain couchbase.local will be resolved into few ip addresses, each ip address will be tested individually:
go-couchbase-cli bucket --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" ping -n 10 --pause 100msGetting node diagnostics output:
go-couchbase-cli bucket --dsn "couchbase://couchbase.local" -u test_v1_cache -p "password123" -b "test_v1_cache" diagnostics### TODO
- Refactoring
- Figure out how to get where key is located
- Add interactive interface
- Add stdin interface for importing data
- export latency data into csv
- Add settings for durability level
- Commands for running benchmark