springboot新浪微博短链接生成 redis缓存5分钟
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了springboot新浪微博短链接生成 redis缓存5分钟,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1823字,纯文字阅读大概需要3分钟。
内容图文
![springboot新浪微博短链接生成 redis缓存5分钟](/upload/InfoBanner/zyjiaocheng/892/3f8425ccbf9e45d381e62312eb0e14ef.jpg)
ShortUrlUtil
package com.ljzforum.platform.util;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URLEncoder;
public class ShortUrlUtil {
protected static Logger logger = LoggerFactory.getLogger(ShortUrlUtil.class);
/**
* 获取短链接url
* */
public static String getShortUrl(String url){
if(StringUtils.isBlank(url)){
return "";
}
try {
url=URLEncoder.encode(url, "UTF-8");
String requestUrl="http://api.t.sina.com.cn/short_url/shorten.json?source=2849184197&url_long="+url;
HttpClient httpClient = new HttpClient();
String data = httpClient.sendGet(requestUrl);
if(StringUtils.isBlank(data)){
data = httpClient.sendGet(requestUrl);
}
if(StringUtils.isBlank(data)){
return "";
}
JSONArray jsonArray =JSONArray.fromObject(data);
JSONObject jsonObject =(JSONObject) jsonArray.get(0);
String shortUrl = jsonObject.getString("url_short");
if(shortUrl.equals("http://t.cn/")){
return url;
}else{
return shortUrl;
}
} catch (Exception e) {
logger.error("获取短链接url失败 url="+url);
}
return url;
}
public static void main(String[] args) {
String url=getShortUrl("http://www.baidu.com");
System.out.println(url);
}
}
redis缓存5分钟
@Autowired
private RedisTemplate redisTemplate;
/**
* 将链接缓存5分钟
*/
private String activityShortUrl(Integer id){
String shortUrl = "";
String urlKey = “PARTNER:SHORTURL:”+id;
if (redisTemplate.hasKey(urlKey)) {
shortUrl = (String) redisTemplate.opsForValue().get(urlKey);
return shortUrl;
}
shortUrl = ShortUrlUtil.getShortUrl("你的长链接");
if (StringUtils.isNotBlank(shortUrl) && !shortUrl.equals("http://t.cn/")) {
redisTemplate.opsForValue().set(urlKey, shortUrl, 5, TimeUnit.MINUTES);
}
return shortUrl;
}
参考文章:
https://www.sojson.com/blog/330.html
https://blog.csdn.net/Kindle_code/article/details/77098007
内容总结
以上是互联网集市为您收集整理的springboot新浪微博短链接生成 redis缓存5分钟全部内容,希望文章能够帮你解决springboot新浪微博短链接生成 redis缓存5分钟所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。