另类缓存Gravatar头像的方法

头像用的最多的还是使用Gravatar头像,但是Gravatar头像服务器在国外,速度上肯定有影响,如果很快的缓存Gravatar头像呢?

网上大部分是本地缓存,然后通过本地化Gravatar头像缓存来加快速度。

但是这次我换一种方法,无需加重自己服务器的负担来加快,因为这里有免费的七牛,使用七牛的融合CDN,可以直接缓存Gravatar头像,然后把所有Gravatar头像地址改成七牛的地址就可以了。


使用方法:

1、去七牛申请帐号。官网地址:http://www.qiniu.com 

推广注册地址:https://portal.qiniu.com/signup?code=3lkin4af40swi (希望大家通过这个注册,让我多点免费流量,谢谢)


by 2018-10-03更新融合CDN缓存头像

2、创建一个融合CDN加速,点开“融合CDN” --> “域名管理” --> “添加域名”

318-1.png

3、域名类型选择“普通域名”即可;加速域名填入你自己的域名,如avatar.myxzy.com;覆盖范围我这里选择了“全球”(因为我有免费的国外流量);通讯协议我选择“HTTP”(HTTPS没有免费的,根据你需求选择);使用场景选择“图片小文件”;

318-2.png

选择“源站域名”填入“cn.gravatar.com”,当然你也可以填入www.gravatar.com或者en.gravatar.com,回源HOST可以跟源站域名相同,源站测试填入favicon.ico

318-3.png

这边缓存设置可以默认,当然你也可以自定义,这边的创建需要上述“源站测试”通过才可以创建

318-4.png

创建后需要等待一段时间才能完成(不超过20分钟)。

3、DNS CNAME绑定(

4、测试效果七牛缓存后头像效果

因为我使用的是emlog,Gravatar头像创建的连接一般是以下这种连接。

测试连接:http://www.gravatar.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g

通过七牛绑定的域名(这边我已经绑定自己的域名了):http://avatar.myxzy.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g

可以正常访问了,也可以通过参数指定头像大小了。


以上是通过七牛融合CDN来加速头像的,还有可以使用腾讯云来加速的。本站现在使用的就是使用腾讯云加速头像的。


演示效果:你可以看看本站的Gravatar头像效果。

emlog的话,直接修改include\lib\function.base.php中

function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') {
	$hash = md5($email);
	$avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
	return $avatar;
}

修改为
function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') {
	$hash = md5($email);
	//$avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
	$avatar = "http://avatar.myxzy.com/avatar/$hash?s=$s&d=$d&r=$g";
	return $avatar;
}
  • 下载列表

目前有 2 条评论

avatar

深圳装修公司  2014-09-25 23:00 1楼

看得挺不错,不知道wordpress有类似的没,最后最后,求回访一下啦。 回复
avatar

星之宇  2014-09-26 00:56

@深圳装修公司:wp肯定有的 回复
昵称
邮箱
主页
提交
订阅