{"id":25305480,"url":"https://github.com/iuioiua/redis","last_synced_at":"2026-03-17T21:04:41.145Z","repository":{"id":276255035,"uuid":"897741334","full_name":"iuioiua/redis","owner":"iuioiua","description":"Fast, lightweight Redis client built upon the Web Streams API.","archived":false,"fork":false,"pushed_at":"2025-12-02T06:07:55.000Z","size":201,"stargazers_count":20,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-05T00:31:03.300Z","etag":null,"topics":["bun","cloudflare-workers","deno","nodejs","redis","streams-api","web-browsers"],"latest_commit_sha":null,"homepage":"https://jsr.io/@iuioiua/redis","language":"HTML","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/iuioiua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-03T06:44:27.000Z","updated_at":"2025-12-02T21:45:18.000Z","dependencies_parsed_at":"2025-03-04T07:30:51.377Z","dependency_job_id":"aca5b6cc-a0b4-4246-8041-8de3e0a366c1","html_url":"https://github.com/iuioiua/redis","commit_stats":null,"previous_names":["iuioiua/redis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iuioiua/redis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuioiua%2Fredis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuioiua%2Fredis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuioiua%2Fredis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuioiua%2Fredis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iuioiua","download_url":"https://codeload.github.com/iuioiua/redis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuioiua%2Fredis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30631435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: 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":["bun","cloudflare-workers","deno","nodejs","redis","streams-api","web-browsers"],"created_at":"2025-02-13T09:42:22.334Z","updated_at":"2026-03-17T21:04:41.139Z","avatar_url":"https://github.com/iuioiua.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @iuioiua/redis\n\n[![JSR](https://jsr.io/badges/@iuioiua/redis)](https://jsr.io/@iuioiua/redis)\n[![CI](https://github.com/iuioiua/redis/actions/workflows/ci.yml/badge.svg)](https://github.com/iuioiua/redis/actions/workflows/ci.yml)\n\nFast, lightweight [Redis](https://redis.io/) client built upon the\n[Web Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API).\n\n```ts\nimport { RedisClient } from \"@iuioiua/redis\";\nimport { assertEquals } from \"@std/assert/equals\";\n\nusing redisConn = await Deno.connect({ port: 6379 });\nconst redisClient = new RedisClient(redisConn);\n\nconst reply1 = await redisClient.sendCommand([\"SET\", \"hello\", \"world\"]);\nassertEquals(reply1, \"OK\");\n\nconst reply2 = await redisClient.sendCommand([\"GET\", \"hello\"]);\nassertEquals(reply2, \"world\");\n```\n\n## Features\n\n- Capable of handling 1000s of requests per second.\n- More than 12x smaller than the next major Redis client in Deno.\n- Supports RESPv2, RESP3, raw data, pipelining, pub/sub, transactions and Lua\n  scripts.\n- Compatible with all major JavaScript runtimes including\n  [Bun](https://bun.sh/), [Cloudflare Workers](https://workers.cloudflare.com/),\n  [Deno](https://deno.com/), [Node.js](https://nodejs.org/en) and the browser!\n- Cleanly written to be easily understood and debugged.\n- Compatible with timeouts and retries.\n- Encourages the use of actual Redis commands without intermediate abstractions,\n  resulting in fewer moving parts.\n\n## Resources\n\n- [Demo](https://redis-demo.iuioiua.deno.net/)\n- [Documentation](https://jsr.io/@iuioiua/redis/doc)\n- [Contributing guidelines](./CONTRIBUTING.md)\n- [Test coverage](https://redis-coverage.iuioiua.deno.net/)\n\n## Known issues\n\n### Replies containing CRLF\n\nThis package currently doesn't correctly read replies that contain CRLF (`\\r\\n`)\nwithin the message. For example, if a bulk string contains a CRLF, it'll only\nreturn the message, up to that CLRF. The simple workaround for this is to use LF\n(`\\n`) for delimiting newlines, instead of CRLF.\n\n\u003e If this issue affects you, please open a\n\u003e [new issue](https://github.com/iuioiua/redis/issues/new). Otherwise, this\n\u003e issue is a \"won't fix\".\n\n## Design\n\nLike Italian cooking, the design of this package is defined by what it doesn't\ndo rather than what it does do, and relies upon high-quality building blocks. It\ndoesn't extend the functionality of a TCP connection. It doesn't implement a\nmethod for each Redis command, of which there are hundreds. Instead, the Redis\nclient consumes a TCP connection, lets the user write Redis commands, and\nreturns the parsed result according to the RESP data type. The result is a\ndesign with fewer moving parts, fewer bugs, less maintenance, and a smaller\nfootprint than other JavaScript implementations of Redis clients.\n\n| Module             | Size (KB) | Dependencies |\n| ------------------ | --------- | ------------ |\n| jsr:@iuioiua/redis | 20.03     | 0            |\n| jsr:@db/redis      | 214.31    | 34           |\n| npm:ioredis        | 898.03    | 10           |\n| npm:redis          | 968.17    | 9            |\n\n\u003e Note: Results were produced using `deno info \u003cmodule\u003e` on May 28, 2025.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuioiua%2Fredis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiuioiua%2Fredis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuioiua%2Fredis/lists"}