saundy 发表于 2015-11-18 12:17:45

Memcache(MC)系列(三)Memcached之PHP调用

  通过PHP调用Memcahce,首先需要在服务器上安装Memcache,如何安装Memcache不是本文的重点,
  关于memcache的安装,有兴趣的朋友请参考这里:http://blog.iyunv.com/xifeijian/article/details/22000173
  
  下面用一个最简单的Demo,介绍使用如何使用php来调用Memcahce。
  一:安装memcache PHP模块
  #wget http://pecl.php.net/get/memcache-2.2.4.tgz
  tar zxvf memcache-2.2.4.tgz
cd memcache-2.2.4
  查找phpize路径
  #whereis phpize,这里是/root/app/php-5.3.3/bin/phpize(一般在php安装路径的bin目录下)
   /root/app/php-5.3.3/bin/phpize
./configure --enable-memcache --with-php-config=/root/app/php-5.3.3/bin/php-config
make
make install
  在php.ini文件添加一行(/etc目录下)
   extension=memcache.so 重启httpd #service httpd restart
php里使用phpinfo()看到memcache相关说明信息,才说明memcached扩展安装好。注:如果仅使用php -m来查看php所加载的扩展,这个并不能表示扩展已经生效。   注意:  安装完后可能会有类似这样的提示:
  Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
  把这个记住,然后修改php.ini,把
   extension_dir = "./"  修改为
  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"   
  并添加一行
  extension=memcache.so
二:PHP调用memcached自己写一个PHP程序测试一下      <?php
$memcache = new Memcache; //创建一个memcache对象
$memcache->connect('localhost', 9023) or die (&quot;Could not connect&quot;); //连接Memcached服务器
$memcache->set('key', 'Hello,XiFeiJian'); //设置一个变量到内存中,名称是key 值是Hello,XiFeiJian
$get_value = $memcache->get('key'); //从内存中取出key的值
echo $get_value;
?>   
二:附:memcached常用操作    <?php
//连接Memcache
$mem = new Memcache;
$mem->connect(&quot;localhost&quot;, 11211);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo &quot;Get key1 value: &quot; . $val .&quot;<br>&quot;;
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo &quot;Get key1 value: &quot; . $val . &quot;<br>&quot;;
//保存数组数据
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo &quot;Get key2 value: &quot;;
print_r($val2);
echo &quot;<br>&quot;;
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo &quot;Get key1 value: &quot; . $val . &quot;<br>&quot;;
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo &quot;Get key2 value: &quot;;
print_r($val2);
echo &quot;<br>&quot;;
//关闭连接
$mem->close();
?>
  
   
版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: Memcache(MC)系列(三)Memcached之PHP调用