{"id":24838980,"url":"https://github.com/monitor1379/leveldb-grpc","last_synced_at":"2026-05-10T16:02:59.233Z","repository":{"id":118275077,"uuid":"264072126","full_name":"monitor1379/leveldb-grpc","owner":"monitor1379","description":":zap: a Faster LevelDB gRPC SDK","archived":false,"fork":false,"pushed_at":"2020-05-15T12:55:56.000Z","size":2011,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T04:34:11.505Z","etag":null,"topics":["go","golang","grpc","leveldb","leveldb-grpc","leveldb-service"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monitor1379.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-15T02:04:01.000Z","updated_at":"2020-05-20T16:42:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9da5235-bd77-4016-8751-df2b1c39beed","html_url":"https://github.com/monitor1379/leveldb-grpc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/monitor1379/leveldb-grpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitor1379%2Fleveldb-grpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitor1379%2Fleveldb-grpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitor1379%2Fleveldb-grpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitor1379%2Fleveldb-grpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monitor1379","download_url":"https://codeload.github.com/monitor1379/leveldb-grpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitor1379%2Fleveldb-grpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272847022,"owners_count":25003116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["go","golang","grpc","leveldb","leveldb-grpc","leveldb-service"],"created_at":"2025-01-31T06:36:29.448Z","updated_at":"2026-05-10T16:02:54.207Z","avatar_url":"https://github.com/monitor1379.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# leveldb-grpc\n\nLevelDB gRPC Server\n\n## Benchmark\n\nPlatform:\n- CPU: 8vCPU, Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz\n- Mem: 8G RAM\n- Disk: HDD, ST1000LM035-1RK172\n\n\nVersions:\n- golang: go1.14.3 linux/amd64\n- protoc-gen-go: v1.22.0-devel\n- protoc: v3.7.1\n- google.golang.org/grpc: 1.30.0-dev\n\n\n```bash\ngo test -bench=. -run=none client_test.go\n```\n\n```\ngoos: linux\ngoarch: amd64\nBenchmarkServerSet-8               13704            106428 ns/op\nBenchmarkServerGet-8               15654             84919 ns/op\nBenchmarkServerSetParallel-8       32892             67833 ns/op\nBenchmarkServerGetParallel-8       51129             29454 ns/op\n```\n\n- Set QPS: about 12000+\n- Get QPS: about 30000+\n\n## Installation\n\n```\ngo get -u -v github.com/monitor1379/leveldb-grpc\n```\n\n## Examples\n\nServer:\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net\"\n\n\t\"github.com/monitor1379/leveldb-grpc\"\n\t\"github.com/syndtr/goleveldb/leveldb\"\n)\n\nvar (\n\thost = \"0.0.0.0\"\n\tport = 1379\n\tpath = \"./db\"\n)\n\nfunc main() {\n\t// open local leveldb\n\tdb, err := leveldb.OpenFile(path, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t\treturn\n\t}\n\tdefer db.Close()\n\n\t// net.Listen\n\taddress := fmt.Sprintf(\"%s:%d\", host, port)\n\tlistener, err := net.Listen(\"tcp\", address)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t\treturn\n\t}\n\n\t// listen and serve\n\tfmt.Printf(\"Listening: %s\\n\", address)\n\tserver := leveldbgrpc.NewServer(db)\n\terr = server.Serve(listener)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n\n```\n\n\nClient:\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\n\t\"github.com/monitor1379/leveldb-grpc\"\n)\n\nvar (\n\thost = \"localhost\"\n\tport = 1379\n)\n\nfunc main() {\n\taddress := fmt.Sprintf(\"%s:%d\", host, port)\n\n\t// dial server\n\tclient, err := leveldbgrpc.Dial(address)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t\treturn\n\t}\n\n\t// set k1 v1\n\terr = client.Set([]byte(\"k1\"), []byte(\"v1\"))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t\treturn\n\t}\n\n\t// get k1\n\tvalue, err := client.Get([]byte(\"k1\"))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t\treturn\n\t}\n\t// print: \"v1\"\n\tfmt.Println(string(value))\n\n\t// get k2\n\tvalue, err = client.Get([]byte(\"k2\"))\n\t// print: true, true\n\tfmt.Println(value == nil, err == leveldbgrpc.ErrRecordNotFound)\n}\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonitor1379%2Fleveldb-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonitor1379%2Fleveldb-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonitor1379%2Fleveldb-grpc/lists"}