zoukankan      html  css  js  c++  java
  • api缓存

    package com.yp.api.core.api;

    import java.util.concurrent.TimeUnit;

    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.core.ValueOperations;
    import org.springframework.web.client.RestClientException;

    import yp.web.client.RestTemplate;

    public class ApiTemplate
    {
    private RestTemplate restTemplate;
    private RedisTemplate redisTemplate;

    public void setRestTemplate(RestTemplate restTemplate)
    {
    this.restTemplate = restTemplate;
    }
    public void setRedisTemplate(RedisTemplate redisTemplate)
    {
    this.redisTemplate = redisTemplate;
    }
    /**
    *
    * @param url
    * @param expire 毫秒数
    * @param responseType
    * @param urlVariables
    * @return
    * @throws RestClientException
    */
    public <T> T getForObject(String url,int expire, Class<T> responseType, Object... urlVariables) throws RestClientException {
    if(expire>0)
    {
    ValueOperations<String, T> valueOper = redisTemplate.opsForValue();
    T t= valueOper.get(url);
    if(t!=null)
    {
    System.out.println(url+"命中缓存");
    return t;
    }else
    {
    t=restTemplate.getForObject(url, responseType, urlVariables);
    valueOper.set(url, t,expire,TimeUnit.SECONDS);
    return t;
    }
    }
    else
    {
    return restTemplate.getForObject(url, responseType, urlVariables);
    }
    }
    public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables) throws RestClientException {
    return restTemplate.postForObject(url, request, responseType, uriVariables);
    }
    public void put(String key,Object value,int expire)
    {
    ValueOperations<String, Object> valueOper = redisTemplate.opsForValue();
    valueOper.set(key, value,expire,TimeUnit.SECONDS);
    }
    public Object get(String key){
    ValueOperations<String, Object> valueOper = redisTemplate.opsForValue();
    return valueOper.get(key);
    }
    }
  • 相关阅读:
    使用python打印九九乘法表
    python导入库的几种方式
    节点的介数
    连通图、强连通图、弱连通图
    python的基本格式化输出
    pycharm中的py文件重命名
    设置pycharm,在python程序的开头添加时间和作者等信息
    使用pandas库对csv文件进行筛选和保存
    python获取Excel表中某一格的数据
    使用python向txt文件写入内容
  • 原文地址:https://www.cnblogs.com/flord/p/6089129.html
Copyright © 2011-2022 走看看