当前位置:首页 > 操作系统 > Windows

php5.4之分布式缓存memcache(windows7下安装配置)_PHP教程

php5.4之分布式缓存memcache(windows7下安装配置)

一、安装memcache

memcached在windows7上的安装问题 

 现在安装包:http://www.gxlcms.com/softs/44843.html memcache的安装包 

 错误: 通过cmd命令行进入到d:webevememcached(下载后的解压目录) 运行 memcached.exe -d install 报错“ failed to install service or service already installed” 

 解决方法: www.bkjia.com 管理员身份安装,首先找出cmd.exe的原文件 右击以管理员身份运行,接下来就ok(win7下的用户还真麻烦).

windows下的memcache安装:

 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在d:webevememcached 

 2. 在终端(也即cmd命令界面)下输入 ‘d:webevememcachedmemcached.exe -d install’ 安装 

 3. 再输入:'d:webevememcachedmemcached.exe -d start’ 启动。

note: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

 4.下载php_memcache.dll,请自己查找对应的php版本的文件 

 5. 在php.ini 加入一行 ‘extension=php_memcache.dll’ 

 6.重新启动apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功! memcached的基本设置: -p 监听的端口 -l 连接的ip地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 www.bkjia.com -d uninstall 卸载memcached服务 -u 以的身份运行 (仅在以root运行的时候有效) -m 最大内存使用,单位mb。默认64mb -m 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助

php_memcached.dll csdn资源

二、安装好memcache进行memcached在php的扩展配置

php_memcached.dll csdn资源

在php.ini中粘贴开启扩展 同时将此文件放到ext扩展文件中 那现在memcache就ok了可以用了,来试试!
header("content-type:text/html;charset=utf-8");
$host = '127.0.0.1:3306';
$user = 'root';
$passwd = '';
$db = 'test';
$conn = mysql_connect($host,$user,$passwd);
mysql_select_db($db,$conn);
mysql_query("set names utf8",$conn);
$sql = 'select * from syl_rollback order by id desc';
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_array($result,mysql_assoc)){
$test_key[] = $row;
}
echo "
";

var_dump($test_key);

echo "
";
echo " ";
$sql = md5($sql);
$mem = new memcache; //实例化memcache对象
$mem->connect("192.168.1.134", 11211); //连接本地ip 11211是memcache的端口号
$mem->set($sql,$test_key, memcache_compressed, 600); //将$test_key数组存放在键值为$sql里面注意:memcache缓存好的数据,有生存时间,默认会一个小时候过期,当然可以自己设置一个过期时间了, 600就是$sql这个键值对应的生存时间
echo "
";

print_r($mem->get($sql));                      //获取键值为$sql的值

echo "
";

?>

例二:
header("content-type:text/html;charset=utf8");

$sql = 'select * from syl_rollback order by id desc';

$sql = md5($sql);
$mem = new memcache;
$mem->connect("192.168.1.134", 11211);
//$mem->flush(); //对缓存数据进行清空
$mem->add("hehe","memcahce"); //给键值为hehe的设值value为memcache
echo $mem->get("hehe")," "; //读取键值为hehe的值
echo "";
 print_r($mem->get($sql)); 
echo "
";
?>

此时,memcache你就基本上可以使用了,如何应用到你的网站中呢?

首先,封装好一个memcache实例化的类,然后进行调用,网站中获取数据时,先进性memcache缓存中读取,如果读取到了,即使用读取到的数据,显示到页面,此时就不操作数据库了,节省了好多时间啊!如果没用从缓存中读到数据,即操作数据库获取!


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!