微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php5.4之分布式缓存memcachewindows7下安装配置

使用理由:就是为了频繁查询数据库。并且数据有多!那么存到memcached内存就能够避免数据库的不断被訪问,从而提速

一、安装memcache

memcached在windows7上的安装问题  如今安装包:http://download.csdn.net/detail/qq1355541448/7587663 或者 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.2cto.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的一个服务每次开机时自己主动启动。这样server端已经安装完成了。 4.下载PHP_memcache.dll,请自己查找相应的PHP版本号的文件 5. 在PHP.ini 增加一行 ‘extension=PHP_memcache.dll’ 6.又一次启动Apache。然后查看一下PHPinfo,假设有memcache,那么就说明成功安装。   memcached的基本设置:   -p 监听的port -l 连接的IP地址, 认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在执行的memcached服务 -d install 安装memcached服务  www.2cto.com     -d uninstall 卸载memcached服务 -u 以的身份执行 (仅在以root执行的时候有效) -m 最大内存使用,单位MB。认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同一时候连接数。认是1024 -f 块大小增长因子,认是1.25 -n 最小分配空间。key+value+flags认是48 -h 显示帮助


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

    PHP_memcached.dll csdn资源   http://download.csdn.net/detail/king_inguctmnv/5793675

    在PHP.ini中粘贴开启扩展   同一时候将此文件放到ext扩展文件里 那如今memcache就ok了能够用了,来试试。
<?PHP 
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 "<pre>";
var_dump($test_key);
echo "</pre>";
echo "<hr />";
$sql = md5($sql); 
$mem = new Memcache;                           //实例化memcache对象
$mem->connect("192.168.1.134", 11211);         //连接本地ip 11211是memcache的port号
$mem->set($sql,$test_key, MEMCACHE_COMpressed, 600);  //将$test_key数组存放在键值为$sql里面注意:memcache缓存好的数据。有生存时间,认会一个小时候过期。当然能够自己设置一个过期时间了,  600就是$sql这个键值相应的生存时间
echo "<pre>";
print_r($mem->get($sql));                      //获取键值为$sql的值
echo "</pre>";
 
?>

例二:
<?PHP 
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"),"<hr />"; //读取键值为hehe的值
echo "<pre>";
print_r($mem->get($sql)); 
echo "</pre>";
?>

此时,memcache你就基本上能够使用了,怎样应用到你的站点中呢?

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐