一、安装Memcache处事:
1.1.linux下的Memcache安装:
下载 memcache的linux版本,留意 memcached 用 libevent 来干事件驱动,所以要先安装有 libevent。
安装 pecl::memcache。
用 pecl 呼吁行东西安装:
pecl install memcache或直接从源码安装:
phpize./configure
make
make install
1.2.Windows下的Memcache安装:
下载memcache的windows不变版,解压放某个盘下面,好比在c:\memcached
在终端(也即cmd呼吁界面)下输入 c:\memcached\memcached.exe -d install 安装
再输入:c:\memcached\memcached.exe -d start 启动。NOTE:今后memcached将作为windows的一个处事每次开机时自动启动。这样处事器端已经安装完毕了。
下载php_memcache.dll,请本身查找对应的php版本的文件
在C:\winnt\php.ini 插手一行 extension=php_memcache.dll
从头启动Apache,然后查察一下phpinfo,假如有memcache,那么就说明安装乐成!
memcached的根基配置:
-p 监听的端口
-l 毗连的IP地点, 默认是本机
-d start 启动memcached处事
-d restart 重起memcached处事
-d stop|shutdown 封锁正在运行的memcached处事
-d install 安装memcached处事
-d uninstall 卸载memcached处事
-u 以打点员的身份运行 (仅在以root运行的时候有效)
-m 最大内存利用,单元MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时毗连数,默认是1024
-f 块巨细增长因子,默认是1.25-n 最小分派空间,key+value+flags默认是48
-h 显示辅佐
1.3.php.ini中的设置:
[Memcache]
; 一个高机能的漫衍式的内存工具缓存系统,通过在内存里维护一个统一的庞大的hash表,
; 它可以或许用来存储各类名目标数据,包罗图像、视频、文件以及数据库检索的功效等。
; 是否在碰着错误时透明地向其他处事器举办妨碍转移。
memcache.allow_failover = On
; 接管和发送数据时最多实验几多个处事器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts = 20
; 数据将凭据此值设定的块巨细举办转移。此值越小所需的特别网络传输越多。
; 假如发明无法表明的速度低落,可以实验将此值增加到32768。
memcache.chunk_size = 8192
; 毗连到memcached处事器时利用的默认TCP端口。
memcache.default_port = 11211
; 节制将key映射到server的计策。默认值"standard"暗示利用先前版本的老hash计策。
; 设为"consistent"可以答允在毗连池中添加/删除处事器时不必从头计较key与server之间的映射干系。
;memcache.hash_strategy = "standard"; 节制将key映射到server的散列函数。默认值"crc32"利用CRC32算法,而"fnv"则暗示利用FNV-1a算法。
; FNV-1a比CRC32速度稍低,可是散列结果更好。
;memcache.hash_function = "crc32"
;memcache也可以作为session的存储模块,详细参看:memcache PHP 的 session.save_handler.
二、DedeCMS靠山配置进入系统靠山,在[系统根基参数]下面的“机能选项”卡傍边,关于memcache举办如下设置:
cfg_memcache_enable:是否启用memcache缓存,假如为否(N),默认利用文件缓存;
这个选项配置为开启:Y
cfg_memcache_mc_defa:默认memcache缓存处事器地点;
这个选项中填入处事器地点:memcache://127.0.0.1:11211/default127
cfg_memcache_mc_oth:附加memcache缓存处事器地点;
这个假如没有可觉得空。
cfg_puccache_time : 需缓存内容全局缓存时间(秒),这个内里需要设定缓存周期,默认为36000秒
四、Memcache的漫衍式应用* memcache适合与web server安装在同一server上
* memcache可以在n个端口开n个历程,假如和web server在同一呆板的话,还能淘汰网络开销。
* 设置简朴,启动一个历程就行了,免除了设置文件。
五、DedeCMS缓存函数开拓说明由于封装成小助手的形式,所以在利用的时候先初始化:
helper('cache');几个简朴的要领:
SetCache() 设定缓存信息
GetCache() 获取缓存内容
DelCache() 删除缓存内容,简朴的利用例子如
$rs = GetCache('memberlogin', $mid);if( empty($rs) )
{
$rs = $dsql->GetOne("SELECT * FROM `dede_member` WHERE mid='{$mid}' ");
SetCache('memberlogin', $mid, $rs, 1800);
}