{"id":13848360,"url":"https://github.com/qiujiayu/AutoLoadCache","last_synced_at":"2025-07-12T13:30:49.649Z","repository":{"id":27914304,"uuid":"31406270","full_name":"qiujiayu/AutoLoadCache","owner":"qiujiayu","description":"  AutoLoadCache 是基于AOP+Annotation等技术实现的高效的缓存管理解决方案，实现缓存与业务逻辑的解耦，并增加异步刷新及“拿来主义机制”，以适应高并发环境下的使用。","archived":false,"fork":false,"pushed_at":"2024-04-01T09:05:18.000Z","size":2254,"stargazers_count":2089,"open_issues_count":11,"forks_count":698,"subscribers_count":184,"default_branch":"master","last_synced_at":"2024-11-21T04:02:50.988Z","etag":null,"topics":["asynchronous-refresh-cache","autoload-cache","java","redis","spring-cache"],"latest_commit_sha":null,"homepage":"","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/qiujiayu.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}},"created_at":"2015-02-27T06:18:19.000Z","updated_at":"2024-11-15T07:22:12.000Z","dependencies_parsed_at":"2022-07-11T15:18:48.828Z","dependency_job_id":"b32eac4b-af5f-4067-b23d-75854151aa9e","html_url":"https://github.com/qiujiayu/AutoLoadCache","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiujiayu%2FAutoLoadCache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiujiayu%2FAutoLoadCache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiujiayu%2FAutoLoadCache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiujiayu%2FAutoLoadCache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qiujiayu","download_url":"https://codeload.github.com/qiujiayu/AutoLoadCache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225825266,"owners_count":17529905,"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":["asynchronous-refresh-cache","autoload-cache","java","redis","spring-cache"],"created_at":"2024-08-04T19:00:47.638Z","updated_at":"2024-11-22T00:30:17.595Z","avatar_url":"https://github.com/qiujiayu.png","language":"Java","readme":"# AutoLoadCache\n---------------------------------------------\n[![Build Status](http://img.shields.io/travis/qiujiayu/AutoLoadCache.svg?style=flat\u0026branch=master)](https://travis-ci.org/qiujiayu/AutoLoadCache)\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.qiujiayu/autoload-cache-parent.svg?style=flat-square)](https://maven-badges.herokuapp.com/maven-central/com.github.qiujiayu/autoload-cache-parent/)\n![GitHub license](https://img.shields.io/github/license/qiujiayu/AutoLoadCache.svg?style=flat-square)\n\n\n现在使用的缓存技术很多，比如*Redis*、 *Memcache* 、 *EhCache*等，甚至还有使用*ConcurrentHashMap* 或 *HashTable* 来实现缓存。但在缓存的使用上，每个人都有自己的实现方式，大部分是直接与业务代码绑定，随着业务的变化，要更换缓存方案时，非常麻烦。接下来我们就使用**AOP + Annotation** 来解决这个问题，同时使用**自动加载机制** 来实现数据“**常驻内存**”。\n\n\n### [设计思想及原理](./doc/idea.md)\n\n在infoq 发表的文章[《面对缓存，有哪些问题需要思考？》](http://www.infoq.com/cn/articles/thinking-about-distributed-cache-redis)\n\n[《再谈缓存的穿透、数据一致性和最终一致性问题》](https://mp.weixin.qq.com/s?__biz=MzIwMzg1ODcwMw==\u0026mid=2247487343\u0026idx=1\u0026sn=6a5f60341a820465387b0ffcf48ae85b)\n\n### [使用方法](./doc/use.md)\n\n### [注解（Annotation）说明](./doc/annotations.md)\n\n### [分布式锁支持](./doc/lock.md)\n\n### [表达式的应用](./doc/script.md)\n\n### [缓存删除](./doc/deleteCache.md)\n\n### [Magic模式](./doc/magic.md)\n\n### [注意事项](./doc/warning.md)\n\n### [与Spring Cache的区别](./doc/SpringCache.md)\n\n### [最佳实战](./doc/suggest.md)\n\n### [autoload-cache-spring-boot-starter](./autoload-cache-spring-boot-starter) 推荐使用这个，[test目录](./autoload-cache-spring-boot-starter/tree/master/src/test)中也有可运行例子。\n\n\n### 源码阅读\n\n已经实现基于aspectj 的AOP，代码在[com.jarvis.cache.aop.aspectj.AspectjAopInterceptor](./autoload-cache-aop/autoload-cache-aop-aspectj/src/main/java/com/jarvis/cache/aop/aspectj/AspectjAopInterceptor.java)。想通过阅读代码了解详细细节，可以以此为入口。\n\n### [更新日志](./doc/changesLog.md)\n\n\n\nQQ群：429274886\n","funding_links":[],"categories":["Java","缓存库"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiujiayu%2FAutoLoadCache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiujiayu%2FAutoLoadCache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiujiayu%2FAutoLoadCache/lists"}