memcache的windows下的安装和简单使用

时间:2023-02-10 16:23:19
原文: memcache的windows下的安装和简单使用

memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcache缺点之一却是缺少安全性验证,所以一般而言我们都会把一些访问量大,但是不需要验证的数据放在这里,需要用的时候来这里取,就给数据库减少了很多的负担。一般而言设定个更新时间就好了,1个小时左右更新一次。

windows下安装和测试memcache最为方便,Linux只是需要相应的编译包就行了,需要包括memcache的程序文件memcached和memcache在php下的扩展模块php_memcache.dll,网上找找很多,有了这两个就可以开始安装过程了。

1. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
2. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
3.下载php_memcache.dll,请自己查找对应的php版本的文件
4. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
5.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

应用方法很简单,在php文件中new一个新的memcache对象,然后调用方法就够行了,memcache的方法不多,常用的就那几个。

首先连接memcache服务器,建立连接:

$mem = new Memcache;
$mem->connect('memcache_host', 11211);

11211是设置的端口,memcache_host这里放连接的ip.

 

设置数据用set方法:

$mem->set(’key’, ‘This is a test!’, 0, 60);

60是过期时间,单位是秒。

获取数据用get方法:、

$val = $mem->get("mykey");

替换数据用replace方法:

$mem->replace(‘key1′‘This is replace value’060);

 

删除数据用delete方法:

$mem->delete(‘key1′);

也可以存放数组:

$arr = array(‘aaa’, ‘bbb’, ‘ccc’‘ddd’);
$mem->set(‘key2′$arr060);

 

一个实际运用的例子:

  1. <?php  
  2. $sql = 'SELECT * FROM users';  
  3. $key = md5($sql);   //memcached 对象标识符  
  4. if ( !($datas = $mc->get($key)) ) {  
  5.     //  在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。  
  6.     echo "n".str_pad('Read datas from MySQL.', 60, '_')."n";  
  7.     $conn = mysql_connect('localhost''test''test');  
  8.     mysql_select_db('test');  
  9.     $result = mysql_query($sql);  
  10.     while ($row = mysql_fetch_object($result))  
  11.         $datas[] = $row;  
  12.     //  将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。  
  13.     $mc->add($key$datas);  
  14. else {  
  15.     echo "n".str_pad('Read datas from memcached.', 60, '_')."n";  
  16. }  
  17. var_dump($datas);  
  18. ?>