Home >php教程 >php手册 >php5.4之分布式缓存memcache(windows7下安装配置)

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

WBOY
WBOYOriginal
2016-06-13 09:28:481123browse

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

一、安装memcache

memcached在windows7上的安装问题 现在安装包:http://www.jb51.net/softs/44843.html memcache的安装包 错误: 通过cmd命令行进入到D:\webEve\memcached(下载后的解压目录) 运行 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:\webEve\memcached 2. 在终端(也即cmd命令界面)下输入 ‘D:\webEve\memcached\memcached.exe -d install’ 安装 3. 再输入:'D:\webEve\memcached\memcached.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资源

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 "
";<br>
var_dump($test_key);<br>
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 "
";<br>
print_r($mem->get($sql));                      //获取键&#20540;为$sql的&#20540;<br>
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 "
";<br>
print_r($mem->get($sql)); <br>
echo "
";
?>

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

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


也就是先和memcache要数据,如果没有再去数据库读,注意读取后,马上存到memcache中
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn