wordpress到底用Memcached还是Redis缓存更好?
时间:2023年09月05日
/来源:网络
/编辑:佚名
大家都知道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,我个人也非常满意,安装也非常简单,只用上传一个文件就可以了,连设置都不用设置,非常适合新手们使用哦。
我的博客是放在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,我个人也非常满意,安装也非常简单,只用上传一个文件就可以了,连设置都不用设置,非常适合新手们使用哦。
新闻资讯 更多
- 【wordpress教程】WordPress跟踪记录访客在网站的搜索词 优化网站内容和搜索体验03-31
- 【wordpress教程】Zibll子比主题的用户中心修改头像增加支持上传PNG图片文件03-31
- 【wordpress教程】wordpress报错429怎么办03-28
- 【wordpress教程】wordpress如何批量删除指定分类目录下的所有文章03-23
- 【wordpress教程】Wordpress 在文章内容的第二段后面插入广告03-03
- 【wordpress教程】WordPress纯代码禁止发表重复标题的文章03-03
- 【wordpress教程】给wordpress博客-VIEU主题评论框添加打字特效(其他主题类似)03-03
- 【wordpress教程】wordpress自动批量定时发布插件 DX-auto-publish02-08
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法