{"id":37125880,"url":"https://github.com/adjust/aerospike-client-go","last_synced_at":"2026-01-14T14:33:00.278Z","repository":{"id":44169926,"uuid":"452639778","full_name":"adjust/aerospike-client-go","owner":"adjust","description":"Aerospike Client Go ","archived":true,"fork":true,"pushed_at":"2022-02-01T11:35:20.000Z","size":3962,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-18T21:39:29.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"aerospike/aerospike-client-go","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adjust.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security_test.go","support":null}},"created_at":"2022-01-27T10:37:04.000Z","updated_at":"2023-01-28T03:12:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adjust/aerospike-client-go","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"purl":"pkg:github/adjust/aerospike-client-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adjust%2Faerospike-client-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adjust%2Faerospike-client-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adjust%2Faerospike-client-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adjust%2Faerospike-client-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adjust","download_url":"https://codeload.github.com/adjust/aerospike-client-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adjust%2Faerospike-client-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28423429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-14T14:32:59.495Z","updated_at":"2026-01-14T14:33:00.265Z","avatar_url":"https://github.com/adjust.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aerospike Go Client\n\n[![Aerospike Client Go](https://goreportcard.com/badge/github.com/aerospike/aerospike-client-go)](https://goreportcard.com/report/github.com/aerospike/aerospike-client-go)\n[![Build Status](https://travis-ci.org/aerospike/aerospike-client-go.svg?branch=master)](https://travis-ci.org/aerospike/aerospike-client-go)\n[![Godoc](https://godoc.org/github.com/aerospike/aerospike-client-go?status.svg)](https://pkg.go.dev/github.com/aerospike/aerospike-client-go)\n\n## IMPORTANT NOTE\n\nThis is an old version the _Aerospike Go Client_, which is v4.x.x. The newest version _v5_ has migrated to _go modules_,\nwhich required us to put it in the `v5` branch [here](https://github.com/aerospike/aerospike-client-go/tree/v5).\nAll the latest changes to the library are applied in that branch, documented in the [CHANGELOG](https://github.com/aerospike/aerospike-client-go/blob/v5/CHANGELOG.md).\n\n---\n\nOfficial Aerospike Client library for Go.\n\nThis library is compatible with Go 1.9+ and supports the following operating systems: Linux, Mac OS X (Windows builds are possible, but untested).\n\nUp-to-date documentation is available in the [![Godoc](https://godoc.org/github.com/aerospike/aerospike-client-go?status.svg)](https://pkg.go.dev/github.com/aerospike/aerospike-client-go).\n\nYou can refer to the test files for idiomatic use cases.\n\nPlease refer to [`CHANGELOG.md`](CHANGELOG.md) for release notes, or if you encounter breaking changes.\n\n- [Usage](#Usage)\n- [Prerequisites](#Prerequisites)\n- [Installation](#Installation)\n- [Tweaking Performance](#Performance)\n- [Benchmarks](#Benchmarks)\n- [API Documentation](#API-Documentation)\n- [Google App Engine](#App-Engine)\n- [Reflection](#Reflection)\n- [Tests](#Tests)\n- [Examples](#Examples)\n  - [Tools](#Tools)\n\n\n## Usage\n\nThe following is a very simple example of CRUD operations in an Aerospike database.\n\n```go\npackage main\n\nimport (\n  \"fmt\"\n\n  aero \"github.com/aerospike/aerospike-client-go\"\n)\n\n// This is only for this example.\n// Please handle errors properly.\nfunc panicOnError(err error) {\n  if err != nil {\n    panic(err)\n  }\n}\n\nfunc main() {\n  // define a client to connect to\n  client, err := aero.NewClient(\"127.0.0.1\", 3000)\n  panicOnError(err)\n\n  key, err := aero.NewKey(\"test\", \"aerospike\", \"key\")\n  panicOnError(err)\n\n  // define some bins with data\n  bins := aero.BinMap{\n    \"bin1\": 42,\n    \"bin2\": \"An elephant is a mouse with an operating system\",\n    \"bin3\": []interface{}{\"Go\", 2009},\n  }\n\n  // write the bins\n  err = client.Put(nil, key, bins)\n  panicOnError(err)\n\n  // read it back!\n  rec, err := client.Get(nil, key)\n  panicOnError(err)\n\n  // delete the key, and check if key exists\n  existed, err := client.Delete(nil, key)\n  panicOnError(err)\n  fmt.Printf(\"Record existed before delete? %v\\n\", existed)\n}\n```\n\nMore examples illustrating the use of the API are located in the\n[`examples`](examples) directory.\n\nDetails about the API are available in the [`docs`](docs) directory.\n\n\u003ca name=\"Prerequisites\"\u003e\u003c/a\u003e\n## Prerequisites\n\n[Go](http://golang.org) version v1.12+ is required.\n\nTo install the latest stable version of Go, visit\n[http://golang.org/dl/](http://golang.org/dl/)\n\n\nAerospike Go client implements the wire protocol, and does not depend on the C client.\nIt is goroutine friendly, and works asynchronously.\n\nSupported operating systems:\n\n- Major Linux distributions (Ubuntu, Debian, Red Hat)\n- Mac OS X\n- Windows (untested)\n\n\u003ca name=\"Installation\"\u003e\u003c/a\u003e\n## Installation\n\n1. Install Go 1.9+ and setup your environment as [Documented](http://golang.org/doc/code.html#GOPATH) here.\n2. Get the client in your ```GOPATH``` : ```go get github.com/aerospike/aerospike-client-go```\n  * To update the client library: ```go get -u github.com/aerospike/aerospike-client-go```\n\nUsing [gopkg.in](https://gopkg.in/) is also supported: `go get -u gopkg.in/aerospike/aerospike-client-go.v1`\n\n### Some Hints:\n\n * To run a go program directly: ```go run \u003cfilename.go\u003e```\n * to build:  ```go build -o \u003coutput\u003e \u003cfilename.go\u003e```\n  * example: ```go build -o benchmark tools/benchmark/benchmark.go```\n\n\u003ca name=\"Performance\"\u003e\u003c/a\u003e\n## Performance Tweaking\n\nWe are bending all efforts to improve the client's performance. In our reference benchmarks, Go client performs almost as good as the C client.\n\nTo read about performance variables, please refer to [`docs/performance.md`](docs/performance.md)\n\n\u003ca name=\"Tests\"\u003e\u003c/a\u003e\n## Tests\n\nThis library is packaged with a number of tests. Tests require Ginkgo and Gomega library.\n\nBefore running the tests, you need to update the dependencies:\n\n    $ go get .\n\nTo run all the test cases with race detection:\n\n    $ ginkgo -r -race\n\n\n\u003ca name=\"Examples\"\u003e\u003c/a\u003e\n## Examples\n\nA variety of example applications are provided in the [`examples`](examples) directory.\n\n\u003ca name=\"Tools\"\u003e\u003c/a\u003e\n### Tools\n\nA variety of clones of original tools are provided in the [`tools`](tools) directory.\nThey show how to use more advanced features of the library to re-implement the same functionality in a more concise way.\n\n\u003ca name=\"Benchmarks\"\u003e\u003c/a\u003e\n## Benchmarks\n\nBenchmark utility is provided in the [`tools/benchmark`](tools/benchmark) directory.\nSee the [`tools/benchmark/README.md`](tools/benchmark/README.md) for details.\n\n\u003ca name=\"API-Documentation\"\u003e\u003c/a\u003e\n## API Documentation\n\nA simple API documentation is available in the [`docs`](docs/README.md) directory. The latest up-to-date docs can be found in [![Godoc](https://godoc.org/github.com/aerospike/aerospike-client-go?status.svg)](https://pkg.go.dev/github.com/aerospike/aerospike-client-go).\n\n\u003ca name=\"App-Engine\"\u003e\u003c/a\u003e\n## Google App Engine\n\nTo build the library for App Engine, build it with the build tag `app_engine`. Aggregation functionality is not available in this build.\n\n\n\u003ca name=\"Reflection\"\u003e\u003c/a\u003e\n## Reflection, and Object API\n\nTo make the library both flexible and fast, we had to integrate the reflection API (methods with `[Get/Put/...]Object` names) tightly in the library. In case you wanted to avoid mixing those API in your app inadvertently, you can use the build tag `as_performance` to remove those APIs from the build.\n\n\n## License\n\nThe Aerospike Go Client is made available under the terms of the Apache License, Version 2, as stated in the file `LICENSE`.\n\nIndividual files may be made available under their own specific license,\nall compatible with Apache License, Version 2. Please see individual files for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadjust%2Faerospike-client-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadjust%2Faerospike-client-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadjust%2Faerospike-client-go/lists"}