wordpress到底用Memcached还是Redis缓存更好?

  • A+
所属分类:系统文档

大家都知道wordpress的功能十分强大,浏览十分缓慢,网上各种优化wordpress的教程也是层出不穷,博主也是一直在想尽一切办法来加速Litchi’s blog的加载速度,前期也用过各种插件,wp-rocket,wp super cache,然而发现功能确实强大,强大到我看不懂的地步。。。有点蛋疼。

我的博客是放在hostdare国外的VPS上的,但是访客又全是中国人,谁让我写的都是中文的博客呢,呵呵,所以必须要对国内访问友好,国内打开网页的速度要快,所以我目前采用的是动静分离的方式,就是静态资源,JS,CSS,和图片放在UCLOUD的CDN上,具体方法我在几天前发过一篇文章介绍过,有兴趣的可以点开看看,链接直达

实现了动静分离感觉还是有点慢,所以我又开启了memcached缓存和opcache,果然打开网页的速度比原先快了有几倍,效果十分显著,后来了解到类似memcached这样的缓存方法还有一个是Redis,我也测试过了,感觉和memcached的缓存效果差不多,速度也差不多,那么memcached和Redis究竟哪个更适合wordpress呢?我们试着分析一下吧。

wordpress到底用Memcached还是Redis缓存更好?

分析

虽然博主的博客已经使用了CDN( Content Delivery Network )且使用云数据库来减轻服务器的负担。
CDN 虽然把静态资源缓存了,但是对于动态资源(CDN不缓存)就不是很友好了,毕竟动态资源需要实时更新。

Memcached 相信大家并不陌生,它是一套分布式的高速缓存系统,通俗来说就是一个内存缓存服务器。通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度。

说到这里,感觉 Memcached 跟 CDN 功能是不是有一点点相似?
只是 CDN 是缓存静态资源而 Memcached 是缓存数据库查询结果。
而且 Memcached 将数据库查询结果缓存在内存中,一般来说内存比硬盘读写快数倍。Redis也是同样的道理。

但是Memcached 相对于 Redis 来说内存要求更低,但是 Redis 支持将内存中的缓存数据保存在磁盘中,以便于服务器在重启后再次加载缓存数据。 Memcached 则不行。

结论

相对于物理内存富裕的朋友,你当我什么都没说。
相对于物理内存吃紧的朋友,你就可以考虑 Memcached 来进行缓存了,如果需要考虑数据持久性可以安装 Opcache 配合使用。
相对于使用CDN的朋友,使用 Memcached 还是 Redis 都是没有问题的。但是各位如果要是还修改网站的js或者css文件时,记得刷新一下缓存,要不然没反应的。

为什么我不推荐 Redis 呢?

观点1.物理内存小于2G的服务器使用 Redis 会很吃力,在特殊环境下可能起反作用。
观点2.虽然仅作为缓存服务器使用时性能比其他的会更好,但是耗尽物理内存后,使用 Swap(虚拟内存)时,写入速度大幅度减慢。当 Swap 也消耗殆尽时,客户端将抛出异常。 Memcachedb内存占用少于物理内存且相当稳定。

安全性

我个人认为使用 Memcached 或 Redis 并没有任何安全问题。

Memcached 或 Redis 的监听端口并没有暴露在公网但这仅仅是未开启远程访问的结论
如果项目需要开启远程访问,则考虑的不是 Memcached 或 Redis 是否安全,而是端口暴露风险。

好了,上面说了这么多,目前我的小博客是没有用Redis的,而是用了memcached,我个人也非常满意,安装也非常简单,只用上传一个文件就可以了,连设置都不用设置,非常适合新手们使用哦。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: