{"id":16550457,"url":"https://github.com/eiselems/spring-redis-two-layer-cache","last_synced_at":"2025-07-28T02:02:59.790Z","repository":{"id":102416314,"uuid":"162166572","full_name":"eiselems/spring-redis-two-layer-cache","owner":"eiselems","description":"A Cache which instead of evicting an entry on expiration keeps it until it is able to get new Data.","archived":false,"fork":false,"pushed_at":"2019-01-15T21:33:23.000Z","size":57,"stargazers_count":14,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T22:12:24.420Z","etag":null,"topics":["aop","cache","redis","spring-redis"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eiselems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-12-17T17:27:32.000Z","updated_at":"2024-01-15T16:09:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"1153daee-7eda-4ea2-84b2-65b9ff453e9b","html_url":"https://github.com/eiselems/spring-redis-two-layer-cache","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eiselems/spring-redis-two-layer-cache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiselems%2Fspring-redis-two-layer-cache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiselems%2Fspring-redis-two-layer-cache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiselems%2Fspring-redis-two-layer-cache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiselems%2Fspring-redis-two-layer-cache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eiselems","download_url":"https://codeload.github.com/eiselems/spring-redis-two-layer-cache/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eiselems%2Fspring-redis-two-layer-cache/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267451492,"owners_count":24089312,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["aop","cache","redis","spring-redis"],"created_at":"2024-10-11T19:34:29.895Z","updated_at":"2025-07-28T02:02:59.778Z","avatar_url":"https://github.com/eiselems.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-redis-two-layer-cache\n\nA Cache which instead of evicting an entry on expiration keeps it until it is able to get new Data.\n\nTechnically this is done via Spring AOP.\nWe create an Around Advice which is guarding our real invocation.\n\nIt was created as a drop-in replacement for @Cacheable.\n\n## Usage\n\nThe usage is pretty similar to @Cacheable known from the Spring Cache Abstraction.\n\n```java\n@Service\npublic class OrderService {\n\n    @TwoLayerRedisCacheable(firstLayerTtl = 1L, secondLayerTtl = 5L, key = \"'orders_'.concat(#id).concat(#another)\")\n    public Order getOrder(int id, String other, String another) {\n        Order order = getOrderViaHTTP(id);\n        return order;\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feiselems%2Fspring-redis-two-layer-cache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feiselems%2Fspring-redis-two-layer-cache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feiselems%2Fspring-redis-two-layer-cache/lists"}