前言

现在互联网飞速发展,各位站长也在为自己的网站优化让用户访问更加舒服。
博主对于新技术新事物也是抱着好奇的态度来研究(手痒痒)。


分析

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

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

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

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


分析结论

相对于物理内存富裕的朋友,你当我什么都没说。
相对于物理内存吃紧的朋友,你就可以考虑 Memcached 来进行缓存了,如果需要考虑数据持久性可以安装 Memcachedb 配合使用。
相对于使用CDN的朋友,使用 Memcached 还是 Redis 都是没有问题的。


为什么不推荐 Redis 呢?

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


安全性

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

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


成功细中取, 富贵险中求

最后修改:2019 年 05 月 19 日 07 : 58 PM
如果觉得我的文章对你有用,请随意赞赏