文章目录[隐藏]
woydpress php 优化提速建议阅读
WordPress使用Redis缓存加速|511遇见强烈推荐
windows server 2003 开启PHP扩展APC
wordpress使用memcached缓存数据提高访问速度
今天我们以windows服务器为例子介绍Windows下安装Memcached的步骤说明
一、 安装memcached服务
1、首先要判断你的windows是32位还是64位的,下载相应的源码包。
- ◆ Win32 服务器端的 memcached 最新版本 memcached-win32-1.4.4
- ◆ Win64 服务器端的 memcached 最新版本 memcached-win64
2、解压放某个盘下面,比如在c:\memcached
3、以管理员身份打开cmd,在终端(也即cmd命令界面)下输入 c:\memcached\memcached.exe -d install
安装
4、再输入:c:\memcached\memcached.exe -d start
启动服务, 以后memcached将作为windows的一个服务每次开机时自动启动,这样服务器端已经安装完毕了。
二、 php_memcache 扩展
1、下载和 php 所需的 PECL 扩展,即 php_memcache
扩展;
注意:
一定要和自己的 PHP 版本相同!!!重要的话说三遍!!!上面的64包已经包含了这个扩展。
到官网选择响应的Php版本下载:http://pecl.php.net/package/memcache/3.0.8/windows
2、解压第上面的php_memcache 扩展包,找到 php_memcache.dll 文件,把它放入你的php安装目录的ext
文件夹中,比如 xxx/xxx/php/ext/
中。
3、到PHP安装目录下找到php.ini
文件复制以下代码:
extension=php_memcache.dll [Memcache] memcache.allow_failover = 1 memcache.max_failover_attempts=20 memcache.chunk_size =8192 memcache.default_port = 11211
4、重新启动Apache
,然后查看一下phpinfo,如果有 memcache 的说明,祝贺你安装成功啦!
5、写一个 example.php 文件,测试memcached服务
<?php $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."<br/>\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)<br/>\n"; $get_result = $memcache->get('key'); echo "Data from the cache:<br/>\n"; var_dump($get_result); ?>
如果有输出:
Server's version: 1.4.4-14-g9c660c0
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) }
则说明,我们的 Memcached 已经在服务器端正常运行!
三、 Wordpress安装Memcached Object Cache
1、WordPress默认支持Object Cache,所以在WordPress实现Memcached 就是使用Memcached把WordPress 的 Object Cache 写到内存中去,下次直接从内存中读取。
2、下载插件安装包:http://wordpress.org/extend/plugins/memcached/installation/
3、解压后将该文件object-cache.php
复制到 wp-content
,注意不是 wp-content/plugins/
。
4、该插件无需启动,WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。
四、 WP Super cache启用Memcached内存缓存加速
1、如果你的wordpress已经安装了WP Super cache插件,只要你的主机安装了Memcached组件可以直接使用Memcached内存缓存了,也就是必须经过以上的设置后,确保Memcached 已经在服务端启动,并且将文件object-cache.php
复制到 wp-content
,注意不是 wp-content/plugins/
。
2、再进入你的Wordpress的WP Super cache的高级设置中,就能看到:使用对象缓存系统来存储缓存文件。 (实验室功能)
如果没有看到这个选项说明你前面没有配置成功,其实这也是检验的一个办法。
3、勾选它点击更新就已经的WP Super cache启动Memcached内存缓存,在内容中就能看到提示Memcached缓存已经启用,没有可用列表显示。
五、总结
1、今天介绍的配置环境是Windows下的服务器安装 Memcached服务,所以你如果测试的话必须选对环境。
2、其实到第三步就可以了,至于WP Super cache启用Memcached内存缓存加速能提速多少,你需要自己测试对比。
3、推荐阅读 WordPress使用Redis缓存加速|511遇见强烈推荐
六、memcache 和 Redis 对比总结
[memecache 特点]
1、速度最快(没有自测,但网上有详细的测试用例)
2、支持水平扩展,可以任意添加节点
[redis 特点]
1、速度没有memcache快
2、支持M/S的主从备份
3、可以支持多数据库
4、操作指令很丰富
5、支持异步数据持久化(以文件保存)
总结:
1、如果是简单的数据缓存建议使用MEMCACHE。
2、如果要对单一操作的数据量非常的大则使用MEMCACHE
3、 如果想做性能很好的缓存集群可以用Redis(M/S读写分离,如weibo中的排行榜等)
4、 如果在高并发下又想保存数据则可以用Redis (如更新热门文章浏览次数,memcachedb也不错)