{"id":14530659,"url":"https://github.com/mat2cc/redis_tui","last_synced_at":"2025-09-02T02:31:27.639Z","repository":{"id":207981569,"uuid":"701347961","full_name":"mat2cc/redis_tui","owner":"mat2cc","description":"Redis terminal application","archived":false,"fork":false,"pushed_at":"2025-04-18T20:23:46.000Z","size":73,"stargazers_count":101,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T08:17:58.452Z","etag":null,"topics":["command-line","go","golang","redis","redis-client","terminal-based","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mat2cc.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":null,"authors":null,"dei":null}},"created_at":"2023-10-06T13:01:46.000Z","updated_at":"2025-04-18T20:21:04.000Z","dependencies_parsed_at":"2024-04-20T16:00:06.603Z","dependency_job_id":null,"html_url":"https://github.com/mat2cc/redis_tui","commit_stats":null,"previous_names":["mat2cc/redis_tui"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mat2cc/redis_tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat2cc%2Fredis_tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat2cc%2Fredis_tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat2cc%2Fredis_tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat2cc%2Fredis_tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mat2cc","download_url":"https://codeload.github.com/mat2cc/redis_tui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat2cc%2Fredis_tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273219832,"owners_count":25066244,"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-09-02T02:00:09.530Z","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":["command-line","go","golang","redis","redis-client","terminal-based","tui"],"created_at":"2024-09-05T00:01:08.939Z","updated_at":"2025-09-02T02:31:27.380Z","avatar_url":"https://github.com/mat2cc.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"data-management\"\u003e\u003c/a\u003eData management","Applications"],"sub_categories":["Database Tools"],"readme":"# redis_tui\n\u003cp\u003e\n    \u003ca href=\"https://github.com/mat2cc/redis_tui/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/mat2cc/redis_tui.svg\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/mat2cc/redis_tui/actions\"\u003e\u003cimg src=\"https://github.com/mat2cc/redis_tui/workflows/test/badge.svg\" alt=\"Build Status\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRedis terminal browser written in go, with the use of charmbraclet's [bubbletea](https://github.com/charmbracelet/bubbletea)\n\nhttps://github.com/mat2cc/redis_tui/assets/19396939/8389236f-71c7-4062-b103-4c53a1ca94db\n\n## Install\n\n**homebrew**:\n```sh\nbrew install mat2cc/tap/redis_tui\n```\n\n**go**:\n```sh\ngo install github.com/mat2cc/redis_tui@latest\n```\n\n## Usage\n\n```sh\nredis_tui -address localhost:6379 -db 2\n```\n\nEnter your `redis://` address, db, etc. and connect to redis. \n*note:* this will also work wish ssh tunneling into a redis database.\nCheck `--help` for more options!\n\nWhile in the redis_tui, press `?` for movement instructions\n\n## Under the hood\n\nredis_tui is powered by the [redis SCAN command](https://redis.io/commands/scan) where we are gathering a variable number of keys per scan (configured by the `--scan-size` arguments, with default of 1000). A cursor is kept so that every time the `m` key is pressed, more keys will be fetched.\n\nTo get the redis type information, we are using a [Redis Pipeline](https://redis.io/docs/manual/pipelining/) which will batch all of the type reqests for each scan into one transaction. This can be disabled by setting `--include-types=false`, where type information will only be retrieved when opening the details view for a specific key.\n\n## Production Considerations\nThe redis SCAN command can safely be used in production since we can limit the number of keys returned per request. Some things to keep in mind when querying production redis or when performance in a concern:\n- reduce the number of elements returned per request with the `--scan-size` argument (the `m` key can always fetch more keys)\n- if possible query against a replica redis db\n- set the `--include-types=false` to omit the redis pipeline that gathers type data for all keys\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat2cc%2Fredis_tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmat2cc%2Fredis_tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat2cc%2Fredis_tui/lists"}