Drupal7缓存配置技巧apc、memcache、filecache
来源:互联网 发布:自动聊天软件下载 编辑:程序博客网 时间:2024/04/28 23:11
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性能差的空间,未必就能带来好处,
- Drupal7缓存配置技巧apc、memcache、filecache
- php 脚本缓存 apc配置
- php中Apc和memcache缓存数据性能对比
- Memcache的核心性能分析以及APC缓存系统选择
- APC | Memcache等缓存key冲突的解决办法
- php中Apc和memcache缓存数据性能对比
- magento memcache缓存配置
- Magento memcache缓存配置
- centos linux 安装配置apc 内存缓存
- PHP APC缓存配置、使用详解
- PHP APC缓存配置、使用详解
- PHP APC缓存配置、使用详解
- apc缓存
- FileCache
- FileCache
- memcache、apc性能比较
- php配置memcache缓存方法
- PHP技巧:使用APC缓存优化PHP程序
- Cocos2d-x教程(10)-CCProgressTimer实现页面加载进度条效果
- git错误:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
- pthread_cancel() NDK不支持
- C++大端小段的判断和转换
- 如何解决电脑数据文件被误删除的问题
- Drupal7缓存配置技巧apc、memcache、filecache
- eclipse 中文字体
- sipsak使用介绍
- windows linux(centOS) 双系统
- Eygle的《深入解析Oracle-DBA 入门、进阶与诊断案例》——脚本整理
- Extjs4中通过点击不同的按钮加载不同的tree
- 从系统服务进程访问HKEY_CURRENT_USER主键
- sipcrack使用介绍
- PHP 判断一段字符串是否包含另一段字符串