{"id":23129031,"url":"https://github.com/twiny/carbon","last_synced_at":"2025-08-17T06:32:02.616Z","repository":{"id":57642602,"uuid":"437062584","full_name":"twiny/carbon","owner":"twiny","description":"a wrapper around BadgerDB providing a simple API.","archived":false,"fork":false,"pushed_at":"2021-12-10T20:32:57.000Z","size":9,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-07-27T22:43:53.123Z","etag":null,"topics":["badgerdb","cache-storage","keyvaluestore"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twiny.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}},"created_at":"2021-12-10T17:33:38.000Z","updated_at":"2023-02-24T18:54:39.000Z","dependencies_parsed_at":"2022-08-27T22:03:40.750Z","dependency_job_id":null,"html_url":"https://github.com/twiny/carbon","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twiny%2Fcarbon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twiny%2Fcarbon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twiny%2Fcarbon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twiny%2Fcarbon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twiny","download_url":"https://codeload.github.com/twiny/carbon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230098768,"owners_count":18172740,"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","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":["badgerdb","cache-storage","keyvaluestore"],"created_at":"2024-12-17T10:08:08.364Z","updated_at":"2024-12-17T10:08:09.166Z","avatar_url":"https://github.com/twiny.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Carbon Cache\nA wrapper around [BadgerDB](https://github.com/dgraph-io/badger) providing a simple API.\n\n**NOTE** This package is provided \"as is\" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please [create a new issue](https://github.com/twiny/carbon/issues/new).\n\n## Install\n`go get https://github.com/twiny/carbon`\n\n## API\n```go\nSet(key string, val []byte, ttl time.Duration) error\nGet(key string) ([]byte, error)\nDel(key string) error\nForEach(prefix string, fn func(key string, val []byte) error) error\n```\n\n## Usage\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/twiny/carbon\"\n)\n\nfunc main() {\n\tcache, err := carbon.NewCache(\"./tmp\")\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn\n\t}\n\tdefer cache.Close()\n\n\t// set\n\tif err := cache.Set(\"foo\", []byte(\"bar\"), 10*time.Minute); err != nil {\n\t\tlog.Println(err)\n\t\treturn\n\t}\n\n\t// get\n\tval, err := cache.Get(\"foo\")\n\tif err != nil {\n\t\tlog.Println(err)\n\t\treturn\n\t}\n\n\tfmt.Println(string(val))\n\n\t// range\n\tif err := cache.ForEach(\"\", func(key string, val []byte) error {\n\t\tfmt.Println(key, string(val))\n\t\treturn nil\n\t}); err != nil {\n\t\tlog.Println(err)\n\t\treturn\n\t}\n\n\t// delete\n\tif err := cache.Del(\"foo\"); err != nil {\n\t\tlog.Println(err)\n\t\treturn\n\t}\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwiny%2Fcarbon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwiny%2Fcarbon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwiny%2Fcarbon/lists"}