缓存能做什么?
正如前面所说,大家最普遍的理解就是当我们遇到某个页面打开很慢的时候,会想到引入缓存,这样页面打开就快了。 其实快和慢都是相对的,从技术角度来说,缓存之所以快是因为缓存是基于内存去建立的,而内存的读写速度比硬盘快 X 倍,所以用内存来代替硬盘作为读写的介质自然能大大提高访问数据的速度。 这个过程大致是这样的,通过在内存中存储被访问过的数据供后续访问时使用,以此来达到提速的效果。 其实除此之外,缓存还有另外 2 个重要的运用方式:预读取和延迟写。
预读取
预读取就是预先读取将要载入的数据,也可以称作“缓存预热”,它是在系统中先将硬盘中的一部分数据加载到内存中,然后再对外提供服务。 为什么要这样做呢?因为有些系统一旦启动就要面临上千上万的请求进来(在一些 toC 的项目尤其如此),如果直接让这些请求打到数据库上,非常大的可能是数据库压力暴增,直接被干趴,无法正常响应。 为了缓解这个问题,就需要通过“预读取”来解决。 可能你会问,哪怕用了缓存还是扛不住呢?那就是做横向扩展+负载均衡的时候到了,这不是本文讨论的内容,有机会再专门分享吧。 如果说“预读取”是在“数据出口”加了一道前置的缓冲区的话,那么下面要说的“延迟写”就是在“数据入口”后面加了一道后置的缓冲区。
延迟写
你可能知道,数据库的写入速度是慢于读取速度的,因为写入的时候有一系列的保证数据准确性的机制。 所以,如果想提升写入速度的话,要么做分库分表,要么就是通过缓存来进行一道缓冲,再一次性批量写到磁盘,以此来提速。 那么,通过缓存机制来加速“写”的过程就可以称作“延迟写”,它是预先将需要写入到磁盘或者数据库的数据,暂时写入到内存,然后就返回成功,再定时将内存中的数据批量写入到磁盘。
回归主题,运行宝塔面板的PHP扩展Memcached使用内存缓存使页面加载速度提升3-5倍。今天就将配置方法分享给大家。
宝塔面板安装 Memcached 扩展
通过宝塔PHP设置的“安装扩展”里安装”memcached”和”opcache”。
注:
- 安装成功后,以防万一可以通过phpinfo来检测已安装的扩展中是否已有 memcached 。
- PHP 扩展中有 Memcache 扩展 和 Memcached 两个扩展,两者仅仅相差一个字母 D,别安装错了。
WordPress安装启用Memcached
从WordPress后台安装并启用Memcached Is Your Friend插件。
评论列表(4条)
涨知识了
不明觉厉
赶紧去让我的博客也用上这功能?
不错!