{"id":27840201,"url":"https://github.com/caldito/mimcas","last_synced_at":"2025-05-03T03:43:36.902Z","repository":{"id":113497845,"uuid":"443520118","full_name":"caldito/mimcas","owner":"caldito","description":"Multithreaded In-Memory Cache Server","archived":false,"fork":false,"pushed_at":"2024-03-23T09:42:44.000Z","size":4527,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-03-23T11:54:24.037Z","etag":null,"topics":["cache","go","golang","lru-cache","memcached","multithreading"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caldito.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":"2022-01-01T10:55:38.000Z","updated_at":"2024-03-23T11:36:19.000Z","dependencies_parsed_at":"2023-12-12T20:05:32.063Z","dependency_job_id":"6d465c71-9950-435c-ba6d-b9c001426a1d","html_url":"https://github.com/caldito/mimcas","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fmimcas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fmimcas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fmimcas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fmimcas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caldito","download_url":"https://codeload.github.com/caldito/mimcas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252140559,"owners_count":21700754,"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":["cache","go","golang","lru-cache","memcached","multithreading"],"created_at":"2025-05-03T03:43:36.325Z","updated_at":"2025-05-03T03:43:36.893Z","avatar_url":"https://github.com/caldito.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mimcas\n![Apache 2.0 License](https://img.shields.io/hexpm/l/plug.svg)\n[![Go Reference](https://pkg.go.dev/badge/github.com/caldito/mimcas.svg)](https://pkg.go.dev/github.com/caldito/mimcas)\n[![Go Report Card](https://goreportcard.com/badge/github.com/caldito/mimcas)](https://goreportcard.com/report/github.com/caldito/mimcas)\n\nMultithreaded In-Memory Cache Server.\n\nAvailable commands:\n- **set:** Sets a value for a new or existing key\n- **get** Retrieves the value of a single key\n- **mget** Retrieves the value of one or more keys\n- **del** Removes an item from the cache\n- **quit** Quit client session\n- **ping** Responds \"pong\"\n\n## Build\nYou can build the project running `make`. The binaries will then be available at `bin/mimcas-server` and `bin/mimcas-cli`.\n\nDependencies:\n- `go` \u003e= v1.17\n- `make`\n\nCommand `make run` does the same but it will also start the server.\n\n## Running the server\n- **Option 1: Docker:** `docker run -p 20000:20000 pablogcaldito/mimcas-server:v0.1.0 [ARGUMENTS]`\n- **Option 2: Download and run binary:** download from [releases page](https://github.com/caldito/mimcas/releases/) and run `./mimcas-server [ARGUMENTS]`\n- **Option 3: Build from source:** `make \u0026\u0026 ./bin/mimcas-server [ARGUMENTS]`.\n### Server flags\nNone of them are required. The available flags are:\n- `-port`: Port to use for listening for incoming connections. By default it will be `20000`.\n- `-maxmemory`: Maximum number of bytes available to use. Items will be evicted following LRU policy when that limit is crossed. By default there is no limit.\n\n## Connecting with a client\nThe only client for now is the CLI one. It will available when building the source code as well.\n- **Option 1: Docker:** `docker run --network host -it pablogcaldito/mimcas-cli:v0.1.0 mimcas-cli [ARGUMENTS]` \n- **Option 2: Download and run binary:** download from [releases page](https://github.com/caldito/mimcas/releases/) and run `./mimcas-cli [ARGUMENTS]`\n- **Option 3: Build from source:** `make \u0026\u0026 ./bin/mimcas-cli [ARGUMENTS]`.\n\n### Client flags\nNone of them are required. The available flags are:\n- `-host`: Host to use when opening a connection. By default it will be `localhost`.\n- `-port`: Port to use when opening a connection. By default it will be `20000`.\n\n\n### Usage example\n```\n\u003e\u003e get a\nNULL\n\u003e\u003e set a 2\nOK\n\u003e\u003e get a\nOK\n2\n\u003e\u003e set b 3\nOK\n\u003e\u003e mget a b\nOK\n2\nOK\n3\n\u003e\u003e del a\nOK\n\u003e\u003e get a \nNULL\n\u003e\u003e quit\n```\n\n## License\nThis project is licensed under the Apache License Version 2.0\n\n## Contributing\nPull requests are welcomed and encouraged. For questions, feature requests and bug reports, please open an issue.\n\nThere is also a [TODO](https://github.com/caldito/mimcas/blob/main/TODO) file containing work planned to do and also [issues on GitHub](https://github.com/caldito/mimcas/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldito%2Fmimcas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaldito%2Fmimcas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldito%2Fmimcas/lists"}