{"id":23096652,"url":"https://github.com/yvanmazy/memorized","last_synced_at":"2025-04-03T19:43:20.052Z","repository":{"id":196158415,"uuid":"694787271","full_name":"YvanMazy/Memorized","owner":"YvanMazy","description":"High-performance standalone Java cache server. Highly flexible and configurable. Distributed collections and objects.","archived":false,"fork":false,"pushed_at":"2024-05-16T11:24:17.000Z","size":181,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T07:45:12.800Z","etag":null,"topics":["cache","distributed-systems","java","memory","performance","server"],"latest_commit_sha":null,"homepage":"","language":"Java","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/YvanMazy.png","metadata":{"files":{"readme":".github/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":"2023-09-21T17:34:11.000Z","updated_at":"2024-09-14T17:28:13.000Z","dependencies_parsed_at":"2024-12-16T22:40:32.523Z","dependency_job_id":"6d924c68-e220-4755-8501-6949754f6204","html_url":"https://github.com/YvanMazy/Memorized","commit_stats":null,"previous_names":["darkkraft/memorized","yvanmazy/memorized"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvanMazy%2FMemorized","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvanMazy%2FMemorized/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvanMazy%2FMemorized/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvanMazy%2FMemorized/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YvanMazy","download_url":"https://codeload.github.com/YvanMazy/Memorized/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247070769,"owners_count":20878581,"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","distributed-systems","java","memory","performance","server"],"created_at":"2024-12-16T22:40:13.271Z","updated_at":"2025-04-03T19:43:20.024Z","avatar_url":"https://github.com/YvanMazy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memorized\n\n---\n\n### 🏗️ This project is still in development.\n\nThis project is still in development, it is not yet possible to use it. The project is subject to significant change in\nthe future.\n\n## 📝 Summary\n\n* [Goal of Memorized server](https://github.com/YvanMazy/Memorized#-goal-of-memorized-server)\n* [When to use?](https://github.com/YvanMazy/Memorized#-when-to-use)\n* [Features](https://github.com/YvanMazy/Memorized#-features)\n* [How to use?](https://github.com/YvanMazy/Memorized#%EF%B8%8F-how-to-use)\n* [Examples](https://github.com/YvanMazy/Memorized#%EF%B8%8F-examples)\n* [Requirements](https://github.com/YvanMazy/Memorized#%EF%B8%8F-requirements)\n\n## ❓ Goal of Memorized server\n\n**Memorized** is a standalone cache server written in **Java**. Its goal is to create a really lightweight and efficient\ncache server with high **flexibility**.\nThis project does not use a library to manage connections between server and client, but instead uses a NIO server.\n\n## 🔍 When to use?\n\nThis is **not** a cache server that can be used in all cases. The aim is to provide a cache server that is **flexible**\nenough to automate certain actions and best meet sometimes complex system requirements.\nTypically, actions are **triggered** when an element is modified.\nSome important aspects of this project are:\n\n* Great flexibility, making it easy to add your own elements to suit your needs.\n* Maintain maximum consistency between clients.\n* Be able to perform atomic operations on any object.\n* Have the smallest possible memory and CPU footprint.\n* Keep access to the project open so that anyone can use it.\n* Easy and lightweight implementation on native applications and all types of environments (mainly Java).\n\n## ✨ Features\n\nHere is a list of current features:\n\n* Custom authentication\n* Customizable codec system\n* Multithreaded client connection management\n* Distributed collections\n* Custom distributed objects\n* And many more!\n\n## 🛠️ How to use?\n\nThis section is not available yet. It will be divided into several sections in the Wiki tab.\n\n## ✍️ Examples\n\nSee full\nexamples [here](https://github.com/YvanMazy/Memorized/tree/master/examples/src/main/java/be/darkkraft/memorized/example).\n\n#### Start a Memorized client\n\n```java\npublic class MyClient {\n\n    public static void main(final String[] args) {\n        final MemorizedClient client =\n                new MemorizedClientBuilder().serverAddress(new InetSocketAddress(\"127.0.0.1\", 12345))\n                        .authenticationInput(new UnsecureAuthenticationInput())\n                        .codecRegistry(new DefaultCodecRegistry().registerDefaults())\n                        .keyRegistry(new ClassKeyRegistry())\n                        .build();\n        client.start();\n    }\n\n}\n```\n\n#### Start a Memorized server\n\n```java\npublic class MyServer {\n\n    public static void main(final String[] args) {\n        final MemorizedServer server = new MemorizedServerBuilder().address(new InetSocketAddress(\"127.0.0.1\", 12345))\n                .workerThreads(1)\n                .authenticator(new UnsecureAuthenticator())\n                .codecRegistry(new DefaultCodecRegistry().registerDefaults())\n                .dataRepositoryCoordinator(new DataRepositoryCoordinator())\n                .build();\n        server.start();\n    }\n\n}\n```\n\n## ⚙️ Requirements\n\n* Java 17 or higher","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyvanmazy%2Fmemorized","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyvanmazy%2Fmemorized","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyvanmazy%2Fmemorized/lists"}