标签: 缓存

  • 开启WordPress Object-cache缓存

    木木童鞋那里搜刮来的,可以将耗时查询或运算结果缓存起来,减少数据库的查询次数。

    比如我的首页查询次数由36减为了17,减少了一半多,内页的查询次数也减少了大概一半,可见效果还是很不错的。查看查询次数很简单,在footer.php文件或其它文件的适当位置加入以下代码即可。

    <?php echo get_num_queries(); ?>

    这样在我的博客的底部便可以看到“查询次数:17”这样的东西了。

    本来我的小站在开启了gzip压缩等优化功能后,页面的大小和加载速度是大大减少的了,可是最近为了美化和传说中的用户体验启用了一些效果,包括分页插件和加载提示。因为为了达到一些淡入淡出的结果,启用了jQuery。用的是1.4的版本,即使是min的版本,也有70多k,考虑到启用了gzip,大概传输的时候是20多k,不过这样也很客观了。因为我的本来首页大小也才100k多点。所以最近的加载速度减慢了些。

    (更多…)

  • Gravatar头像缓存

    由于我没开启如WP Super Cache之类的缓存软件,这样子在评论多的时候,加载头像就成了一个大问题,毕竟所有的WordPress博客都是有限的几个服务器从那里获取头像的。

    所以,决定缓存Gravatar头像。参照的是Willin大师新版Gravatar缓存一文中的第二种方法。

    首先在WordPress根目录下建立文件夹avatar,设置权限为755(一般网站管理后台都默认权限为这个),用来缓存头像。准备一张适合模版大小的默认头像“default.jpg”,并放到该文件夹中。

    将以下代码copy到主题的functions.php文件中

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function my_avatar($avatar) {
      $tmp = strpos($avatar, ‘http’);
      $g = substr($avatar, $tmp, strpos($avatar, "’", $tmp) $tmp);
      $tmp = strpos($g, ‘avatar/’) + 7;
      $f = substr($g, $tmp, strpos($g, "?", $tmp) $tmp);
      $w = get_bloginfo(‘wpurl’);
      $e = ABSPATH .‘avatar/’. $f .‘.jpg’;
      $t = 1209600; //設定14天, 單位:秒
      if ( !is_file($e) || (time() filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新
        copy(htmlspecialchars_decode($g), $e);
      } else  $avatar = strtr($avatar, array($g => $w.‘/avatar/’.$f.‘.jpg’));
      if ( filesize($e) < 500 ) copy($w.‘/avatar/default.jpg’, $e);
      return $avatar;
    }
    add_filter(‘get_avatar’, ‘my_avatar’);

    一般来说这样就可以了。如果有别的问题可以到Willin的文中去找解答。