当前位置:首页 > 行业动态 > 正文

如何正确配置DedeCMS 5.7以使用memcache缓存?

DedeCMS 5.7的memcache配置需要修改/include/config.php文件,添加扩展和设置服务器地址、端口等参数。

DedeCMS 5.7 memcache配置说明

安装Memcache服务

1、Linux下的Memcache安装

下载memcache的Linux版本:注意,memcached使用libevent作为事件驱动,因此需要先安装libevent。

安装pecl::memcache

使用pecl命令行工具安装:pecl install memcache

或直接从源码安装:

“`bash

phpize

./configure

make

make install

“`

2、Windows下的Memcache安装

下载memcache的Windows稳定版,解压放某个盘下面,比如在c:memcached。

在终端(cmd命令界面)下输入以下命令:

“`bash

c:memcachedmemcached.exe d install

c:memcachedmemcached.exe d start

“`

注:以后memcached将作为Windows的一个服务每次开机时自动启动,这样服务器端已经安装完毕了。

下载php_memcache.dll,请自己查找对应的PHP版本的文件。

在C:winntphp.ini中加入一行extension=php_memcache.dll

重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

3、memcached的基本设置

参数 说明
p 监听的端口
l 连接的IP地址, 默认是本机
d start 启动memcached服务
d restart 重起memcached服务
d stop 关闭正在运行的memcached服务
d install 安装memcached服务
d uninstall 卸载memcached服务
u 以管理员的身份运行 (仅在以root运行的时候有效)
m 最大内存使用,单位MB,默认64MB
M 内存耗尽时返回错误,而不是删除项
c 最大同时连接数,默认是1024
f 块大小增长因子,默认是1.25
n 最小分配空间,key+value+flags默认是48
h 显示帮助

4、php.ini中的配置

配置项 说明
memcache.allow_failover 是否在遇到错误时透明地向其他服务器进行故障转移,默认为On
memcache.max_failover_attempts 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效,默认为20
memcache.chunk_size 数据将按照此值设定的块大小进行转移,此值越小所需的额外网络传输越多,默认为8192
memcache.default_port 连接到memcached服务器时使用的默认TCP端口,默认为11211
memcache.hash_strategy 控制将key映射到server的策略,默认值”standard”表示使用先前版本的老hash策略,设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
memcache.hash_function 控制将key映射到server的散列函数,默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV1a算法,FNV1a比CRC32速度稍低,但是散列效果更好,默认值为”crc32″

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 * FROMmember WHERE mid='{$mid}' ");
    SetCache('memberlogin', $mid, $rs, 1800);
}

参考网站

[memcached官网](http://memcached.org/)

[php的memcache配置大全](http://blog.csdn.net/hnxxwyq/archive/2008/06/11/2534868.aspx)

FAQs

1、Q: Memcache如何进行故障转移?

A: Memcache支持故障转移,当一个服务器不可用时,它会尝试连接到另一个服务器,这可以通过设置memcache.allow_failover为On来启用。memcache.max_failover_attempts参数定义了尝试的最大次数,默认为20次。

2、Q: Memcache的内存管理机制是怎样的?

A: Memcache使用Slab Allocation机制来管理内存,它把大块内存分割成一系列固定大小的小块,这些小块被称为slabs,每个slab由多个page组成,page是实际存储数据的单元,这种机制使得内存分配和释放更加高效,并且能够减少内存碎片。

DedeCMS 5.7 Memcache配置说明

简介

Memcache是一种高性能的分布式内存对象缓存系统,可以用于提高应用程序的速度和可扩展性,DedeCMS 5.7支持Memcache作为缓存方式,以下是对Memcache配置的详细说明。

配置步骤

1、开启Memcache支持

在DedeCMS 5.7的安装过程中,可以选择是否启用Memcache缓存,如果选择启用,系统会自动进行相关配置。

2、配置Memcache服务器

在DedeCMS后台管理系统中,找到“系统设置” > “缓存设置”。

在“缓存方式”中选择“Memcache”。

输入Memcache服务器的IP地址和端口。

如果需要,可以设置连接超时时间和连接错误重试次数。

3、设置缓存参数

在“缓存参数”设置中,可以调整以下参数:

前缀:用于区分不同应用或用户组的缓存数据。

过期时间:缓存数据的有效期,单位为秒。

压缩:是否对缓存数据进行压缩,以减少内存使用。

4、测试Memcache连接

在配置完成后,可以通过测试连接来确保Memcache服务器的配置正确。

5、保存配置

确认所有设置无误后,点击“保存”按钮保存配置。

注意事项

安全性:确保Memcache服务器配置了适当的防火墙规则,以防止未授权访问。

性能优化:根据实际需求调整缓存参数,以获得最佳性能。

兼容性:确保Memcache服务器版本与DedeCMS 5.7兼容。

常见问题

问题:Memcache连接失败。

解决方法:检查Memcache服务器的IP地址和端口是否正确,以及服务器是否正在运行。

问题:缓存数据无法正常写入。

解决方法:检查Memcache服务器的存储空间是否足够,以及是否有权限写入数据。

通过以上步骤,您可以成功配置DedeCMS 5.7使用Memcache作为缓存方式,正确配置和使用Memcache可以显著提高DedeCMS的性能和响应速度。

0