Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

memcache的安装及使用 #4

Open
myadomin opened this issue Nov 15, 2014 · 0 comments
Open

memcache的安装及使用 #4

myadomin opened this issue Nov 15, 2014 · 0 comments

Comments

@myadomin
Copy link
Owner

Windows下的Memcache安装

  1. 下载memcache的windows版,解压放某个盘下面,比如在c:\memcached,官网只有linux版了,所以windows找个老版本用。
  2. 在终端(也即cmd命令界面)下输入 'c:\memcached\memcached.exe -d install' 安装。
  3. 再输入:'c:\memcached\memcached.exe -d start' 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
  4. 下载对应php版本的php_memcache.dll扩展,本机TS及VC版本通过查看phpinfo的PHP Extension Build得知。
  5. 在你的php\php.ini 末尾加入一行 'extension=php_memcache.dll',把php_memcache.dll放入你的php\ext文件夹下。
  6. 重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

Memcache环境测试

运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。

<?php
$mem = new Memcache;
//上面的memcache是安装在本机,如果安装在服务器这里就填写对应的服务器ip
$mem->connect("127.0.0.1", 11211);
//将key的值缓存60秒钟。
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

memcache的基本设置

例如cmd中输入 c:\memcached\memcached.exe -d restart 代表重起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 显示帮助

memcache的使用 connect set get replace delete flush

<?php
    //初始化Memcache的对象
    $mem = new Memcache;

    //连接服务器端
    //第一个参数是服务器的IP地址(例如本地主机127.0.0.1)
    //第二个参数是Memcache的开放端口(通过phpinfo查看,一般是11211)
    $mem->connect("127.0.0.1", 11211);

    //保存数据到Memcache服务器上
    //第一个参数是数据的key
    //第二个参数是需要保存的数据内容value
    //第三个参数是一个标记,一般设置为0或者MEMCACHE_COMPRESSED就行了
    //第四个参数是缓存的有效期,单位是秒。如果设置为0,则是永远有效
    $mem->set('key1', 'This is first value', 0, 60);

    //保存数组到Memcache服务器上
    $arr = array('aaa', 'bbb', 'ccc', 'ddd');
    $mem->set('key2', $arr, 0, 60);
    $val2 = $mem->get('key2');
    print_r($val2);
    echo "<br/>";

    //从Memcache服务器获取一条数据
    $val = $mem->get('key1');
    echo "Get key1 value: " . $val."<br/>";

    //用replace方法来替换掉上面key1的值
    //replace方法的参数跟set是一样的,不过第一个参数key1是必须是要替换数据内容的key
    $mem->replace('key1', 'This is replace value', 0, 60);
    $val = $mem->get('key1');
    echo "Get key1 value: " . $val."<br/>";

    //删除一个数据 参数就是一个key
    $mem->delete('key1');
    $val = $mem->get('key1');
    echo "Get key1 value: " . $val . "<br>";

    //清除所有Memcache上的数据,关闭连接
    $mem->flush();
    $val2 = $mem->get('key2');
    echo "Get key2 value: ";
    print_r($val2);
?>

linux memcache安装(基于ubuntu XAMPP)

  1. 早期的ubuntu及centos等安装memcache比较麻烦,需要安装libevent及memcache及php源码包并make及make install,从ubuntu 12后直接用apt-get安装,如下基于xampp及ubuntu 12以上的版本。
  2. apt-get install memcached安装memcache,memcached -d -m 50 -p 11211 -u root启动memcache,echo stats | nc localhost 11211查看memcache是否启动成功并且得知进程的pid值,kill -9 pid(-9表示强制杀死,pid 为进程的pid值)关闭memcache。
  3. apt-get install php5-memcache安装php的memcache扩展(如果安装错误apt-get undate一下)。
  4. 通过find -name memcache.so找到memcache.so,进行移动cp /usr/lib/php5/xxxxx/memcache.so /opt/lampp/lib/php/extensions/no-debug-non-zts-xxxx/memcache.so
  5. 运行phpinfo()函数,查看扩展是否安装成功。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant