>백엔드 개발 >PHP 튜토리얼 >Memcached之PHP调用

Memcached之PHP调用

WBOY
WBOY원래의
2016-06-23 13:56:10916검색

通过PHP调用Memcahce,首先需要在服务器上安装Memcache,如何安装Memcache不是本文的重点,

关于memcache的安装,有兴趣的朋友请参考这里:http://blog.csdn.net/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 ("Could not connect"); //连接Memcached服务器      $memcache->set('key', 'Hello,XiFeiJian'); //设置一个变量到内存中,名称是key 值是test      $get_value = $memcache->get('key'); //从内存中取出key的值      echo $get_value;      ?>  

 


二:附:memcached常用操作

    <?php      //连接Memcache      $mem = new Memcache;      $mem->connect("localhost", 11211);      //保存数据      $mem->set('key1', 'This is first value', 0, 60);      $val = $mem->get('key1');      echo "Get key1 value: " . $val ."<br>";      //替换数据      $mem->replace('key1', 'This is replace value', 0, 60);      $val = $mem->get('key1');      echo "Get key1 value: " . $val . "<br>";      //保存数组数据      $arr = array('aaa', 'bbb', 'ccc', 'ddd');      $mem->set('key2', $arr, 0, 60);      $val2 = $mem->get('key2');      echo "Get key2 value: ";      print_r($val2);      echo "<br>";      //删除数据      $mem->delete('key1');      $val = $mem->get('key1');      echo "Get key1 value: " . $val . "<br>";      //清除所有数据      $mem->flush();      $val2 = $mem->get('key2');      echo "Get key2 value: ";      print_r($val2);      echo "<br>";      //关闭连接      $mem->close();      ?>  

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.