设为首页 收藏本站
查看: 800|回复: 0

[经验分享] Drupal7缓存配置技巧apc、memcache、filecache

[复制链接]

尚未签到

发表于 2015-11-18 09:05:32 | 显示全部楼层 |阅读模式
  drupal6有个著名的cacherouter模块,能同时支持db、apc、memcache、file缓存,可以灵活配置各种缓存在不同地方,例如默认在apc、cache_page在file、session在memcache等。

(顺便说说,cacherouter的作者对drupal团队有意见:“我这么好的模块为什么不加入核心?”呵呵)
  而在drupal7怎则有三个对应的模块:apc、memcache、filecache,每个模块都有各自帮助文件,笔者偶然发现三个模块的配置方法都差不多,于是把它们综合起来。
  方法如下:
  1、先下载三个缓存模块在sites/all/modules里面,不用激活模块。
  2、在settings.php末尾加上以下配置:

//都是数组,次序无关
//首先memcache
$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
//缓存的默认指定,即除了特别指定外的所有cache都是用memcache(本例)
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['memcache_servers'] = array(
  '127.0.0.1:11211' => 'default',
);
$conf['memcache_bins'] = array(
  'cache' => 'default',
  'cache_filter' => 'default',
  'cache_menu' => 'default'
);
//然后是apc,apc最快,但容量宝贵。
$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
//drupal的cache和bootstrap,对应数据库里的表,使用apc
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//最后是文件缓存
$conf['cache_backends'][] = 'sites/all/modules/filecache/filecache.inc';
//文件存放目录
$conf['filecache_directory'] = '/tmp/filecache-' . substr(conf_path(), 6);
$conf['filecache_fast_pagecache'] = TRUE; //暂时未用到
//页面缓存,对应数据库里的cache_page使用文件缓存
$conf['cache_class_cache_page'] = 'DrupalFileCache';

//这两句建议加上,页面缓存不用读数据库
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
  本文给出的配置只是例子,根据实际环境进行调配。
  各种缓存的效率,最快的是apc,其次是memcache,但如果filecache的目录设定在shm(内存盘),则可能比memcache要快。
  apc本身是opcode脚本缓存,缓存数据会占用内存而且产生碎片,一般只存放最常用的数据;

memcache通常用于多服务器环境,需要tcp连接,所以速度比apc慢,而且小站一般用不上;

filecache最便宜,容量几乎无限,但对于一些磁盘io性能差的空间,未必就能带来好处,

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140539-1-1.html 上篇帖子: php使用memcache存储session 下篇帖子: memcache启动多个服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表