{"id":13481334,"url":"https://github.com/nalgeon/redka","last_synced_at":"2025-05-13T22:02:20.110Z","repository":{"id":233278809,"uuid":"783038627","full_name":"nalgeon/redka","owner":"nalgeon","description":"Redis re-implemented with SQLite","archived":false,"fork":false,"pushed_at":"2025-01-05T06:00:46.000Z","size":592,"stargazers_count":3691,"open_issues_count":2,"forks_count":113,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-04-30T08:51:44.092Z","etag":null,"topics":["database","key-value","redis","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nalgeon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-06T19:10:02.000Z","updated_at":"2025-04-30T06:14:30.000Z","dependencies_parsed_at":"2024-05-08T19:26:41.311Z","dependency_job_id":"5db251fb-69cf-48a1-9e54-00c1c5a41bc4","html_url":"https://github.com/nalgeon/redka","commit_stats":null,"previous_names":["nalgeon/redka"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fredka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fredka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fredka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fredka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nalgeon","download_url":"https://codeload.github.com/nalgeon/redka/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036807,"owners_count":22003652,"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":["database","key-value","redis","sqlite"],"created_at":"2024-07-31T17:00:50.954Z","updated_at":"2025-05-13T22:02:20.078Z","avatar_url":"https://github.com/nalgeon.png","language":"Go","funding_links":[],"categories":["Go","Database","sqlite","数据库","Data Integration Frameworks","\u003ca name=\"Go\"\u003e\u003c/a\u003eGo"],"sub_categories":["Databases Implemented in Go","Go中实现的数据库"],"readme":"\u003cimg alt=\"Redka\" src=\"logo.svg\" height=\"80\" align=\"center\"\u003e\n\nRedka aims to reimplement the core parts of Redis with SQLite, while remaining compatible with Redis API.\n\nNotable features:\n\n-   Data does not have to fit in RAM.\n-   ACID transactions.\n-   SQL views for better introspection and reporting.\n-   Both in-process (Go API) and standalone (RESP) servers.\n-   Redis-compatible commands and wire protocol.\n\nRedka is [functionally ready](docs/roadmap.md) for 1.0. Feel free to try it in non-critical production scenarios and provide feedback in the issues.\n\n## Commands\n\nRedka supports five core Redis data types:\n\n-   [Strings](docs/commands/strings.md) are the most basic Redis type, representing a sequence of bytes.\n-   [Lists](docs/commands/lists.md) are sequences of strings sorted by insertion order.\n-   [Sets](docs/commands/sets.md) are unordered collections of unique strings.\n-   [Hashes](docs/commands/hashes.md) are field-value (hash)maps.\n-   [Sorted sets](docs/commands/sorted-sets.md) (zsets) are collections of unique strings ordered by each string's associated score.\n\nRedka also provides commands for [key management](docs/commands/keys.md), [server/connection management](docs/commands/server.md), and [transactions](docs/commands/transactions.md).\n\n## Installation and usage\n\nRedka comes in two flavors:\n\n-   Standalone Redis-compatible server: [installation](docs/install-standalone.md), [usage](docs/usage-standalone.md).\n-   Go module for in-process use: [installation](docs/install-module.md), [usage](docs/usage-module.md).\n\n## Performance\n\nAccording to the [benchmarks](docs/performance.md), Redka is several times slower than Redis. Still, it can do up to 100K op/sec on a Macbook Air, which is pretty good if you ask me (and probably 10x more than most applications will ever need).\n\nRedka stores data in a [SQLite database](docs/persistence.md) with a simple schema and provides views for better introspection.\n\n## Contributing\n\nContributions are welcome. For anything other than bugfixes, please first open an issue to discuss what you want to change.\n\nBe sure to add or update tests as appropriate.\n\n## Acknowledgements\n\nRedka would not be possible without these great projects and their creators:\n\n-   [Redis](https://redis.io/) ([Salvatore Sanfilippo](https://github.com/antirez)). It's such an amazing idea to go beyond the get-set paradigm and provide a convenient API for more complex data structures.\n-   [SQLite](https://sqlite.org/) ([D. Richard Hipp](https://www.sqlite.org/crew.html)). The in-process database powering the world.\n-   [Redcon](https://github.com/tidwall/redcon) ([Josh Baker](https://github.com/tidwall)). A very clean and convenient implementation of a RESP server.\n\nLogo font by [Ek Type](https://ektype.in/).\n\n## Support\n\nRedka is mostly a [one-man](https://antonz.org/) project, not backed by a VC fund or anything.\n\nIf you find Redka useful, please star it on GitHub and spread the word among your peers. It really helps to move the project forward.\n\nIf you use Redka for commercial purposes, consider [purchasing support](https://antonz.gumroad.com/l/redka-plus).\n\n★ [Subscribe](https://antonz.org/subscribe/) to stay on top of new features.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnalgeon%2Fredka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnalgeon%2Fredka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnalgeon%2Fredka/lists"}