{"id":23145821,"url":"https://github.com/rst-tech/Redis_Server_Rust","last_synced_at":"2025-08-17T16:31:44.511Z","repository":{"id":268421115,"uuid":"898972206","full_name":"atlas-2192/Redis_Server_Rust","owner":"atlas-2192","description":"Redis Server Framework With Rust","archived":false,"fork":false,"pushed_at":"2024-12-16T16:16:48.000Z","size":37,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-16T17:32:29.383Z","etag":null,"topics":["api","redis","rust","server"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/atlas-2192.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,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T11:37:23.000Z","updated_at":"2024-12-16T16:18:29.000Z","dependencies_parsed_at":"2024-12-16T17:32:33.847Z","dependency_job_id":"94cb3be3-1d02-4083-9942-7eef0031555c","html_url":"https://github.com/atlas-2192/Redis_Server_Rust","commit_stats":null,"previous_names":["atlas-2192/redis_server_rust"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-2192%2FRedis_Server_Rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-2192%2FRedis_Server_Rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-2192%2FRedis_Server_Rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-2192%2FRedis_Server_Rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atlas-2192","download_url":"https://codeload.github.com/atlas-2192/Redis_Server_Rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230143649,"owners_count":18180025,"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":["api","redis","rust","server"],"created_at":"2024-12-17T16:16:38.536Z","updated_at":"2025-08-17T16:31:39.155Z","avatar_url":"https://github.com/atlas-2192.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cp align=\"center\"\u003eRedis compatible server framework for Rust\u003c/p\u003e\n\n## Features\n\n- Create a fast custom Redis compatible server in Rust\n- Simple API.\n- Support for pipelining and telnet commands.\n- Works with Redis clients such as [redis-rs](https://github.com/redis-rs/redis-rs), [redigo](https://github.com/garyburd/redigo), [redis-py](https://github.com/andymccurdy/redis-py), [node_redis](https://github.com/NodeRedis/node_redis), and [jedis](https://github.com/xetorthio/jedis)\n- Multithreaded\n\n*This library is also avaliable for [Go](https://github.com/tidwall/redcon) and [C](https://github.com/tidwall/redcon.c).*\n\n## Example\n\nHere's a full [example](examples/kvstore) of a Redis clone that accepts:\n\n- SET key value\n- GET key\n- DEL key\n- PING\n- QUIT\n\n```rust\nuse std::collections::HashMap;\nuse std::sync::Mutex;\n\nfn main() {\n    let db: Mutex\u003cHashMap\u003cVec\u003cu8\u003e, Vec\u003cu8\u003e\u003e\u003e = Mutex::new(HashMap::new());\n\n    let mut s = redcon::listen(\"127.0.0.1:6380\", db).unwrap();\n    s.command = Some(|conn, db, args|{\n        let name = String::from_utf8_lossy(\u0026args[0]).to_lowercase();\n        match name.as_str() {\n            \"ping\" =\u003e conn.write_string(\"PONG\"),\n            \"set\" =\u003e {\n                if args.len() \u003c 3 {\n                    conn.write_error(\"ERR wrong number of arguments\");\n                    return;\n                }\n                let mut db = db.lock().unwrap();\n                db.insert(args[1].to_owned(), args[2].to_owned());\n                conn.write_string(\"OK\");\n            }\n            \"get\" =\u003e {\n                if args.len() \u003c 2 {\n                    conn.write_error(\"ERR wrong number of arguments\");\n                    return;\n                }\n                let db = db.lock().unwrap();\n                match db.get(\u0026args[1]) {\n                Some(val) =\u003e conn.write_bulk(val),\n                None =\u003e conn.write_null(),\n                }\n            }\n            _ =\u003e conn.write_error(\"ERR unknown command\"),\n        }\n    });\n    println!(\"Serving at {}\", s.local_addr());\n    s.serve().unwrap();\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst-tech%2FRedis_Server_Rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frst-tech%2FRedis_Server_Rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst-tech%2FRedis_Server_Rust/lists"}