建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > PHP学习 > Windows下安装Memcached

Windows下安装Memcached

时间:2015-03-02 10:37:11  来源:免费模板网 作者:风雪 阅读次数 tagsphp插件php运用php缓存

      Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权协议发布。[1] 
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。[1] 
memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新memcached内的资料[1] 
memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。
这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
Memcached 的守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
Memcached由Danga Interactive开发,其最新版本发布于2010年,作者为Anatoly Vorobey和Brad Fitzpatrick。用于提升LiveJournal . com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

源码包准备:

1,memcached 1.2.1 for Win32 binaries

这个是 Win32 服务器端的 memcached 最新版本,直接下载就可以了;

2,php_memcache-5.2-Win32-vc6-x86-20090408.zip

这个是 php 所需的 PECL 扩展,即 php_memcache 扩展;(一定要和自己的 PHP 版本相同,我用的是5.2.1)

有了源码包包,那就开始大快朵颐吧,按照下面的步骤

1. 将第一个包解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install' 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start' 启动。(需要注意的: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了)
4. 解压第二个包包,里面会只有一个 php_memcache.dll 文件,把它放入 usr/local/php5/ext/ 中
5. 在C:\WINDOWS\php.ini 加入一行 ‘extension=php_memcache.dll'(不知道为什么 PHP 会有两个配置文件,一个在 usr/local/php5/php.ini, 而另一个则在 C:/WINDOWS/中,而且只改前一个配置文件不起作用,所以就把 WINDOWS 中的 php.ini 也改掉了!)

6,接着在 php.ini 文件里加上:


代码如下:

[Memcache] 
memcache.allow_failover = 1 
memcache.max_failover_attempts=20 
memcache.chunk_size =8192 
memcache.default_port = 11211 

最好就放在刚才写 "extension=php_memcache.dll" 的下面。(这是默认的一些配置) 
6.重新启动Apache,然后查看一下phpinfo,如果有 memcache 的说明,那么就说明安装成功啦! 

试运行: 

写一个 example.php 文件:(更多使用方法可以参看 PHP 手册里的 Memcache Functions 使用说明) 

代码如下:
 

<?php 

$memcache = new Memcache; 
$memcache->connect('localhost', 11211) or die ("Could not connect"); 

$version = $memcache->getVersion(); 
echo "Server's version: ".$version."<br/>\n"; 

$tmp_object = new stdClass; 
$tmp_object->str_attr = 'test'; 
$tmp_object->int_attr = 123; 

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); 
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n"; 

$get_result = $memcache->get('key'); 
echo "Data from the cache:<br/>\n"; 

var_dump($get_result); 

?> 

如果有输出: 

代码如下:

Server's version: 1.4.5 
Store data in the cache (data will expire in 10 seconds) 
Data from the cache: 
object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) } 

则说明,我们的 Memcached 配置成功了

本文地址:https://www.freemoban.com/php/2015/0302/752.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!