double-cache:双重缓存,通过guava-cache和redis实现本地缓存+服务器缓存的双重缓存-源码

上传者: 42131414 | 上传时间: 2021-09-09 19:45:58 | 文件大小: 50KB | 文件类型: ZIP
double-cache 查询mysql数据库时,同样的输入需要不止一次获取值或者一个查询需要做大量运算时,很容易会想到使用redis缓存。但是如果查询并发量特别大的话,请求redis服务也会特别耗时,这种场景下,将redis迁移到本地减少查询耗时是一种常见的解决方法 项目结构说明 double-cache-web 应用模块,请求入口 double-cache-service 业务层模块 double-cache-dao 持久层模块 double-cache-common 公共模块,redis工具类,guava chche抽象类在该模块中 分支说明 master 基础版本 cache_annotation_20190114 【强烈推荐直接切换到该分支代码,后续的优化及改进都将在该分支上进行】 在基础版本上添加基于注解的方法使用多级缓存 数据库准备 数据库的创建 create databa

文件下载

资源详情

[{"title":"( 37 个子文件 50KB ) double-cache:双重缓存,通过guava-cache和redis实现本地缓存+服务器缓存的双重缓存-源码","children":[{"title":"double-cache-master","children":[{"title":"double-cache-service","children":[{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"StudentService.java <span style='color:#111;'> 745B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"StudentServiceImpl.java <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"target","children":[{"title":"classes","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"impl","children":[{"title":"StudentServiceImpl.class <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"StudentService.class <span style='color:#111;'> 326B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"double-cache-web","children":[{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"BaseTest.java <span style='color:#111;'> 319B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"resources","children":[{"title":"application.properties <span style='color:#111;'> 635B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"DoubleCacheWebApplication.java <span style='color:#111;'> 424B </span>","children":null,"spread":false},{"title":"aspect","children":[{"title":"ResponseAspect.java <span style='color:#111;'> 192B </span>","children":null,"spread":false}],"spread":true},{"title":"controller","children":[{"title":"StudentController.java <span style='color:#111;'> 1023B </span>","children":null,"spread":false}],"spread":true},{"title":"result","children":[{"title":"BaseResponse.java <span style='color:#111;'> 279B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"target","children":[{"title":"classes","children":[{"title":"application.properties <span style='color:#111;'> 781B </span>","children":null,"spread":false},{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"controller","children":[{"title":"StudentController.class <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false}],"spread":true},{"title":"response","children":[{"title":"BaseResponse.class <span style='color:#111;'> 538B </span>","children":null,"spread":false}],"spread":true},{"title":"DoubleCacheWebApplication.class <span style='color:#111;'> 825B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"test-classes","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"BaseTest.class <span style='color:#111;'> 584B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.28KB </span>","children":null,"spread":false}],"spread":true},{"title":"double-cache-dao","children":[{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"pojo","children":[{"title":"Student.java <span style='color:#111;'> 669B </span>","children":null,"spread":false}],"spread":true},{"title":"dao","children":[{"title":"StudentDAO.java <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"target","children":[{"title":"classes","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"pojo","children":[{"title":"Student.class <span style='color:#111;'> 2.86KB </span>","children":null,"spread":false}],"spread":true},{"title":"dao","children":[{"title":"StudentDAO.class <span style='color:#111;'> 837B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 13.54KB </span>","children":null,"spread":false},{"title":"double-cache-common","children":[{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"redis","children":[{"title":"RedisService.java <span style='color:#111;'> 659B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"RedisServiceImpl.java <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"exception","children":[{"title":"ErrorException.java <span style='color:#111;'> 300B </span>","children":null,"spread":false}],"spread":true},{"title":"guava","children":[{"title":"cache","children":[{"title":"SuperBaseGuavaCache.java <span style='color:#111;'> 3.66KB </span>","children":null,"spread":false},{"title":"StudentGuavaCache.java <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"target","children":[{"title":"classes","children":[{"title":"com","children":[{"title":"cqupt","children":[{"title":"study","children":[{"title":"redis","children":[{"title":"RedisService.class <span style='color:#111;'> 679B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"RedisServiceImpl.class <span style='color:#111;'> 2.60KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"exception","children":[{"title":"ErrorException.class <span style='color:#111;'> 421B </span>","children":null,"spread":false}],"spread":true},{"title":"guava","children":[{"title":"cache","children":[{"title":"StudentGuavaCache.class <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"SuperBaseGuavaCache.class <span style='color:#111;'> 3.95KB </span>","children":null,"spread":false},{"title":"SuperBaseGuavaCache$1.class <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 3.03KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 277B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明