阿里云CDN刷新预热接口-黑科技

简介: 阿里云刷新CDN
+关注继续查看
一般追求体验和速度的网站都会使用CDN技术,下面就说一下常用的阿里云CDN,但是CDN就不可避免的需要去刷新指定文件或者文件夹的缓存,但阿里云后台的管理员账号密码不是一般人能访问的,手动刷新效率也很低,所以往往需要项目里可以直接刷新CDN缓存。

阿里云官方文档

这里写图片描述

你以为就这一点点参数就可以了吗?你们可以看看这位仁兄写的代码

这位兄弟写的代码

官方的调用方式

为什么那位仁兄写这么多代码呢,主要是为了这些公共参数,阿里云为了规范和验证请求合法性,肯定会给你一大堆验证,所以肯定需要多重验证,那为什么我敢说我的实现是黑科技呢?主要是代码少,容易理解,废话不多说,下面教你如何实现快速实现后台刷新阿里云CDN接口。

因为公司服务器部署在阿里云上,能很快的访问阿里云服务器,所以直接用阿里云的maven私服,直接去下载jar包,当然你也可以先下载好上传到自己公司私服上。阿里云私服

附上贼快的阿里云maven仓库

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
<repositories><!-- 代码库 -->
        <repository>
            <id>maven-ali</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public//</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>
    </repositories>
这个是阿里云文档的配置,用哪个都行
<repositories>
        <repository>
            <id>sonatype-nexus-staging</id>
            <name>Sonatype Nexus Staging</name>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-cdn</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>3.0.8</version>
</dependency>

黑科技就在下载的这两个包里,接着你只写上下面那段代码就可以调用刷新CDN缓存了

package com.galaxy.wgroup.common.utils;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.cdn.model.v20141111.RefreshObjectCachesRequest;
import com.aliyuncs.cdn.model.v20141111.RefreshObjectCachesResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

/**
 * Created by fengyiming on 2016/9/20.
 */
public class AliyunCdnUtlis {

    //阿里云管理员账号给你生成的key和value
    private final static String ACCESS_KEY_ID = "YOUR_KEY";

    private final static String ACCESS_KEY_VALUE = "YOUR_KEY_VALUE";

    private final static String OBJECT_TYPE_FILE = "File";

    private final static String OBJECT_TYPE_DIRECTORY = "Directory";

    /**
     * 刷新一个文件
     * @param url
     * @return
     */
    public static RefreshObjectCachesResponse reflushFileCDN(String url) {
        RefreshObjectCachesRequest describe = new RefreshObjectCachesRequest();
        describe.setObjectPath(url);
        describe.setObjectType(OBJECT_TYPE_FILE);
        return reflush(describe);
    }

    /**
     * 刷新文件夹
     * @param packageUrl
     * @return
     */
    public static RefreshObjectCachesResponse reflushPackageCDN(String packageUrl) {
        RefreshObjectCachesRequest describe = new RefreshObjectCachesRequest();
        describe.setObjectPath(packageUrl);
        describe.setObjectType(OBJECT_TYPE_DIRECTORY);
        return reflush(describe);
    }

    private static RefreshObjectCachesResponse reflush(RefreshObjectCachesRequest describe){
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESS_KEY_ID, ACCESS_KEY_VALUE);
        IAcsClient client = new DefaultAcsClient(profile);
        try {
            RefreshObjectCachesResponse response
                    = client.getAcsResponse(describe);
            return response;
        } catch (ClientException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

是不是很方便,当然刷CDN你得注意阿里云后台设置要正确,不然光能在阿里云后台看到刷新请求单没起作用。

记得当初公司网站的CDN回源比例特别高,跟运维调查了很久,有时候还得去提个工单问问专业的人如何设置阿里云CDN缓存。

目录
相关文章
|
4月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
79 0
|
4月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
79 0
|
4月前
|
缓存 弹性计算 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(一)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)
84 0
|
5月前
|
缓存 前端开发 安全
阿里云CDN简介和优惠购买流程
阿里云CDN,首先需要了解什么是CDN。CDN全称是Content Delivery Network,即内容分发网络。CDN可以通过地理位置分发策略,使用户就近访问到离他们最近的服务器,从而提高访问速度,同时也能减轻源站流量压力,确保整个网站的稳定性。 阿里云CDN是阿里云推出的全球服务,涵盖全球范围内1250+节点。阿里云CDN采用的是BGP多线路中转技术,保证全局加速,让网络传输更加稳定。阿里云CDN可以帮助用户提高网站的访问速度,从而提升用户体验。同时,阿里云CDN还有许多其他的优势。
|
6月前
|
存储 缓存 边缘计算
阿里云CDN简介和使用流程
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。(1)全网带宽输出能力达150 Tbps。(2)把静态内容缓存到边缘节点提高访问下载效率。
1241 0
|
7月前
|
边缘计算 CDN
《阿里云产品手册2022-2023 版》——CDN与边缘计算
《阿里云产品手册2022-2023 版》——CDN与边缘计算
111 0
|
7月前
|
CDN
《阿里云产品手册2022-2023 版》——CDN与边缘云
《阿里云产品手册2022-2023 版》——CDN与边缘云
|
7月前
|
域名解析 存储 边缘计算
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第3天——一、内容分发网络
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第3天——一、内容分发网络
|
7月前
|
存储 关系型数据库 数据库
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第3天——三、实操:添加CDN/创建RDS实例
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第3天——三、实操:添加CDN/创建RDS实例
|
7月前
|
CDN
阿里云产品——主要使用的阿里云产品有—— CDN
阿里云产品——主要使用的阿里云产品有—— CDN 自制脑图
66 0
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多