{"id":22495127,"url":"https://github.com/hacimertgokhan/denis","last_synced_at":"2025-08-03T02:31:17.449Z","repository":{"id":263118876,"uuid":"889286599","full_name":"hacimertgokhan/denis","owner":"hacimertgokhan","description":"Cache based database language.","archived":false,"fork":false,"pushed_at":"2024-12-05T18:17:27.000Z","size":25692,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-05T18:27:41.239Z","etag":null,"topics":["cache","cache-control","cache-storage","caching","database","java","protobuf-java"],"latest_commit_sha":null,"homepage":"https://denisdb.vercel.app","language":"Java","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/hacimertgokhan.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-11-16T01:41:33.000Z","updated_at":"2024-12-05T18:17:31.000Z","dependencies_parsed_at":"2024-12-05T18:34:12.996Z","dependency_job_id":null,"html_url":"https://github.com/hacimertgokhan/denis","commit_stats":null,"previous_names":["hacimertgokhan/denisdb","hacimertgokhan/denis"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacimertgokhan%2Fdenis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacimertgokhan%2Fdenis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacimertgokhan%2Fdenis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacimertgokhan%2Fdenis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hacimertgokhan","download_url":"https://codeload.github.com/hacimertgokhan/denis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228517258,"owners_count":17932434,"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","cache-control","cache-storage","caching","database","java","protobuf-java"],"created_at":"2024-12-06T19:25:34.113Z","updated_at":"2024-12-06T19:25:34.753Z","avatar_url":"https://github.com/hacimertgokhan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Denis Database\n\nDenis Database is a Java Library that works with Redis logic and has a simple structure. It provides ease of access and manipulation of temporary data by storing operations in the cache. It increases database categorization with action statuses, providing ease of development.\n\n## DAPI\n\n---\nDetailed library information about DDB.\n\n# Actions\n\n---\n\n## actString Class\n\n**`actString`** is a class designed to manage data with a `String key` and `String value` pair. This class is used for basic CRUD operations and checking data existence.\n\n---\n\n### **Methods**\n| Method                   | Return Type | Description |\n|-------------------------|-------------|-------------|\n| `set(String key, String value)` | `Void`      | Saves or updates the specified key and value. |\n| `get(String key)`     | `String`    | Returns the value corresponding to the given key. Returns `null` if no value exists. |\n| `del(String key)`     | `Void`      | Deletes the specified key and its value. |\n| `exists(String key)`  | `Boolean`   | Checks whether the given key exists. |\n\n---\n\n### **Usage Example**\n```java\nactString actstr = new actString();\n\n// Adding data\nactstr.set(\"key1\", \"value1\");\n\n// Retrieving data\nString value = actstr.get(\"key1\"); // \"value1\"\n\n// Data check\nboolean exists = actstr.exists(\"key1\"); // true\n\n// Deleting data\nactstr.del(\"key1\");\n```\n\n---\n\n## actListrig Class\n\n**`actListrig`** is a structure that associates a `List\u003cString\u003e` key with a `String` value. It is created using `ConcurrentHashMap`, which is suitable for parallel operations.\n\n---\n\n### **Methods**\n| Method                     | Return Type         | Description |\n|----------------------------|---------------------|-------------|\n| `set(List\u003cString\u003e key, String value)` | `Void`            | Saves or updates the specified list key and value pair. |\n| `get(List\u003cString\u003e key)`   | `String`          | Returns the value corresponding to the given list key. Returns `\"null\"` if no value exists. |\n| `del(List\u003cString\u003e key)`   | `Void`            | Deletes the specified list key and its value. |\n| `exists(String key)`      | `Boolean`         | Checks whether the given list key exists. |\n| `getStore()`              | `ConcurrentHashMap` | Returns all data. |\n\n---\n\n### **Usage Example**\n```java\nimport java.util.Arrays;\nimport java.util.List;\n\nactListrig actlist = new actListrig();\n\n// Create key\nList\u003cString\u003e key = Arrays.asList(\"item1\", \"item2\");\n\n// Add data\nactlist.set(key, \"value1\");\n\n// Retrieve data\nString value = actlist.get(key); // \"value1\"\n\n// Data check\nboolean exists = actlist.getStore().containsKey(key); // true\n\n// Delete data\nactlist.del(key);\n```\n\n---\n\n## Class Differences and Usage Scenarios\n\n| Feature         | actString                        | actListrig                           |\n|-----------------|----------------------------------|--------------------------------------|\n| **Key Type**    | `String`                        | `List\u003cString\u003e`                      |\n| **Data Management**| Single key-value pair    | Managing multiple keys together     |\n| **Use Case**    | Managing simple structures       | Managing complex, hierarchical structures |\n\n**Example Scenarios:**\n- **`actString`** can be used to store username-password pairs in a database.\n- **`actListrig`** can be used to associate product categories and subcategories on an e-commerce site.\n\n---\n\n## actStrist Class\n\n`actStrist` is a class that associates a `String` key with a `List\u003cString\u003e` value. It uses the `ConcurrentHashMap` infrastructure suitable for parallel operations. This class is designed to bind multiple values to a single key.\n\n### Methods\n\n| Method                             | Return Type             | Description                                                |\n|------------------------------------|-------------------------|-------------------------------------------------------------|\n| `set(String key, List\u003cString\u003e value)` | `Void`               | Saves or updates the specified key and value list. |\n| `get(String key)`                 | `List\u003cString\u003e`         | Returns the value list corresponding to the given key. Returns `[\"null\"]` if no value exists. |\n| `del(String key)`                 | `Void`                | Deletes the specified key and its value list.          |\n| `exists(String key)`              | `Boolean`             | Checks whether the given key exists. |\n| `getStore()`                      | `ConcurrentHashMap`   | Returns all data.                                   |\n\n### Usage Example\n\n```java\nactStrist actstrist = new actStrist();\n\n// Create key and value list\nString key = \"group1\";\nList\u003cString\u003e values = Arrays.asList(\"item1\", \"item2\", \"item3\");\n\n// Add data\nactstrist.set(key, values);\n\n// Retrieve data\nList\u003cString\u003e retrievedValues = actstrist.get(key);\nSystem.out.println(retrievedValues); // [item1, item2, item3]\n\n// Data check\nboolean exists = actstrist.exists(key);\nSystem.out.println(exists); // true\n\n// Delete data\nactstrist.del(key);\n\n// Check again\nexists = actstrist.exists(key);\nSystem.out.println(exists); // false\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacimertgokhan%2Fdenis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhacimertgokhan%2Fdenis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacimertgokhan%2Fdenis/lists"}