接下来的解决方案在共享主机上将无法工作,你需要控制你的主机环境以达到优秀的性能和规模化。
memcached是将缓存存储在内存中并允许通过网络访问的一个独立程序。做为一个独立程序没什么特别,Drupal使用的数据库(如MySQL)也是这样的应用程序。memcached的与众不同之处在于,它的数据仅存储在内存中,这使得它非常非常快。使用该程序来取代数据库缓存对于Drupal的性能大有裨益。并且不仅仅是Drupal——这是一个非常成熟的解决方案,在每个大型网站中都有实际应用。
注意memcached不仅仅是一个性能解决方案,同时也是非常易于规模化的:你只需根据需要,在任意多个服务器上,启动任意多个它的实例,并配置Drupal来使用它们。memcached无需任何设置,因为每个独立的memcached实例不需要彼此了解。与它们每个进行对话的是Drupal。这和MySQL非常不同,它的主从服务器模式(master-slave)需要作明确的配置。
memcached由三部分组合而成:应用程序本身、一个PHP扩展和一个Drupal模块。memcached可从
memcached.org
获得,网站上有安装和配置的详细介绍。如前所述,你需要添加一个PHP扩展以让PHP和memcached进行通信。有两个名字易混淆的PHP扩展:“memcache”和“memcached”,即使专家对于它们谁更好也是各持己见。我谨慎推荐更新一些的“memcached”,它的PHP扩展可以通过以下命令安装:
pecl install memcached
你也可以按照操作系统特定的方式来安装,比如在Debian或Ubuntu上可以如下:
apt-get install php5-memcached
第三点也是最后一点,你通过安装Memcache模块(drupal.org/project/memcache
)来让Drupal使用memcached。项目页面有大量文档,在此不再赘述。