SpringBoot对外开发接口实现缓存

SpringBoot对外开发接口 实现缓存

  1. 在启动类 + @EnableCaching
// An highlighted block
@SpringBootApplication
@EnableDiscoveryClient
@EnableHystrix
@EnableScheduling
@EnableCaching
@EnableSchedulerLock(defaultLockAtMostFor = "PT10M")
@ComponentScan(basePackages = {
     "com.cykj.os.core.dataproc.server", "com.cykj.core.dataproc.repository", "com.cykj.os.core.websocket.api"})
public class OsCoreDataProcServerApplication {
     
    public static void main(String[] args) {
     
        SpringApplication.run(OsCoreDataProcServerApplication.class);
    }
}

2.在开发接口 service 层 加上我们可爱的@Cacheable

public interface ZlbFacade {
     
//记得加上key哦 请求先去redis缓存找key 假如有值就直接拿值返回 取值是通过OGNL表达式取得
@Cacheable(value = "getSchoolById", key = " #request.data.sysType +'getFunctionTreeValue' + #request.data.schoolId")
    ZlbResponse  getSchoolById(ZlbRequest<Company> request);
}

然后咱就写完啦 !! !
是不是看的key的时候 还是有点蒙圈 那就给你看看我的 传参吧

{
     
  "data": {
     
    "schoolId": "292311",
    "sysType": "0000003"
  },
  //这个事加密 不用管
  "md5": "be6dadf142674tet158512092503fbfb7551171bdc6f2271db8ee0664a7ac0a9c8",
  //这个是时间戳 也不要管
  "timeStamp":1585120925
}

最后的效果就是 已同样的参数去访问 就不会走请求 直接拿redis缓存返回 这样就可以降低咱们服务器压力啦
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
[2]: https://mermaidjs.github.io/
[3]: https://mermaidjs.github.io/
[4]: http://adrai.github.io/flowchart.js/

你可能感兴趣的:(初级程序猿,java,redis)