您的位置:首页 > 数据库 > Memcache

关于Windows7 下面安装memcached和php的memcache扩展

2014-10-03 10:31 681 查看
Php代码与memcached的交互和与mysql的交互原理是一样的,需要安装一个服务器端的memcached,现有的交互处理过程已经封装成了一个php的扩展了;需要在php.ini中,将这个扩展加进去。

Php memcached官方手册地址:http://cn2.php.net/manual/en/memcached.get.php

说说我的安装过程:

1.我的环境:php-5.2.6.memcached-win32-1.2.6.

2.根据下面的步骤安装完以后,可以去控制面板看看memcached服务是否启动起来。如果没有此服务需要重新安装,如果有了,不能启动,可以看一下是不是路径错误了。【我的就是路径错误,启动不起来。找不到指定文件。】

3.php5.2.6自带memcache.dll文件,可以打开phpinfo()看看有没有memcache的扩展。如果没有,可以去pecl地址下载对应版本的memcache替换掉原来的。

一:下载地址:

php扩展库pecl下载地址:

http://museum.php.net/php5/

二:安装与配置:

安装方法一:下载以后,解压,然后放到C盘根目录下。双击memcached.exe就可以启动memcached服务了,这时,你可以打开任务管理器,如果在进程里出现memcached.exe就说明memcached服务已经启动了,还要让cmd窗口开着,这样才是启动了memcached服务。

安装方法二:

1.下载Windows版的memache的压缩包

2.解压到合适的位置如:D:memached目录下面。

3.进入命令行切换到该目录下面,可以用dir看一下目录下面的文件信息。

4. 输入:memached.exe -dinstall 安装服务器。

5. 输入:memached.exe -dstart启动服务器,等到下次启动系统的时候,此服务会自动启动。默认的端口号为11211.

配置:

1. 下载pecl模块包(地址如上),解压后将php_memache.dll放到php目录的ext子目录下,为了使得能正常使用,最好下载和php版本一致的模块包。

2. 在php.ini文件中导入'extension=php_memcache.dll'

然后重启apache,估计就可以了(可以在phpinfo.php 中,看看是否有memcached模块),当然了,我们可以写一个实验一下

$memcache_obj = new Memcache;

$memcache_obj->connect('localhost', 11211);

$memcache_obj->set('var_key', 'Thisis a memcachedtest!',MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

备注:

1)memcached 的几个指令:

-p监听的端口

-l连接的IP地址, 默认是本机

-d start启动memcached服务

-d restart重起memcached服务

-dstop|shutdown关闭正在运行的memcached服务

-d install安装memcached服务

-duninstall卸载memcached服务

-u以的身份运行(仅在以root运行的时候有效)

-m 最大内存使用,单位MB。默认64MB

-M 内存耗尽时返回错误,而不是删除项

-c最大同时连接数,默认是1024

-f 块大小增长因子,默认是1.25

-n 最小分配空间,key+value+flags默认是48

-h 显示帮助

2)memcached相关的函数:

01.Memcache::add—添加一个值,如果已经存在,则返回false

02.Memcache::addServer— 添加一个可供使用的服务器地址

03.Memcache::close—关闭一个Memcache对象

04.Memcache::connect—创建一个Memcache对象

05.memcache_debug—控制调试功能

06.Memcache::decrement—对保存的某个key中的值进行减法操作

07.Memcache::delete—删除一个key值

08.Memcache::flush—清除所有缓存的数据

09.Memcache::get—获取一个key值

10.Memcache::getExtendedStats—获取进程池中所有进程的运行系统统计

11.Memcache::getServerStatus—获取运行服务器的参数

12.Memcache::getStats—返回服务器的一些运行统计信息

13.Memcache::getVersion—返回运行的Memcache的版本信息

14.Memcache::increment—对保存的某个key中的值进行加法操作

15.Memcache::pconnect—创建一个Memcache的持久连接对象

16.Memcache::replace —R对一个已有的key进行覆写操作

17.Memcache::set—添加一个值,如果已经存在,则覆写

18.Memcache::setCompressThreshold—对大于某一大小的数据进行压缩

19.Memcache::setServerParams—在运行时修改服务器的参数

3)zendframework的cache后端支持memcached,我们也可以来试试看

$front = array('lifeTime'=>100,'automatic_serialization'=>true);

$back = array('server' =>array(array('host'=>'127.0.0.1','port'=>11211,'persistent'=>true)),compression=>true); //后端server是个二维数组,每一维代表一个连接。

$cache =Zend_Cache::factory("Core","Memcached",$front,$back);

$cache->save('This is zend memcached','zend');

echo $cache->load('zend')."<br/>";

现在zendframework 的代码,自己还没有详细研究,等自己以后在学习的过程中,可以尝试用一下;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: