1.memcache是什么
Free & open source, high-performance, distributed memory object caching system
, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of
arbitrary data (strings, objects) from results of database calls, API
calls, or page rendering.
Memcached is simple yet powerful
. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API
is available for most popular languages.
和其他的Cache一样(我用过 Java的OSCache PHP的Smaty Cache和Symfony
Cache),思路都是把动态网站经常被访问的资源,或者数据量很大的资源保存到内存中去,从而达到服务器负荷降低,响应加快的目的。不过
Memcache似乎更加通用,他不是莫一种BS架构的插件,而是以Windows 服务或者是Linux
守护进程那样,以平行的方式提供API给服务器的其他应用程序。Cache对象以key-value这种Map结构保存在内存,memocache有一套
特有的内存对象管理方式。详细运作原理可以参考Sina的Memcached深度分析(原创)
。
memcached的基本设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
2.Memcache主要用来做什么
用的最多的还是数据检索结果的缓存。因为现在服务器出现负荷过高的时候,多半和数据库瓶颈有关。对于那些80/20中的20%的特殊检索(特殊包
括:查询特别频繁,检索特别复杂,返回结果特别大),如果如何怎么tuning,怎么优化,在走投无路升级硬件之前,可以考虑考虑memcache这一类
的cache工具了。当然咯, 信息的刷新间隔和效率优化时反比的。对于那些一定要实时刷新的数据,使用Cache只会是搬起石头砸自己的脚。
另外,还有一个DB服务器侧的技术,就是SQL的Cache,比如Mysql Query Cache。这种技术对于那种频繁访问,且发行SQL是一样的query,是个很不错的选择。可以综合起来使用。
3.Windows下如何安装
PHP的官方网站有详细的说明,一个 pecl install memcache就可以一键搞定。可惜的是,Windows下不行,总会报
ERROR: Did not understand the completion status returned from msdev.exe.
这个错。
估计原因主要发生在编译系统上。Linux上的gcc是默认的,windows下没有相应的编译器所以出错。
还是有好人的,辛辛苦苦地把memcache编译成exe贡献给大家。
安装流程
3.1 下载windows版的memcache
http://code.jellycan.com/memcached/
直接下载windows版本
上面已经是最新的稳定版啦,如果想要自己编译的,也可以看看他是怎么一步一步做的。
3.2 安装服务
- 下载的zip解压缩到一个目录(G:\lib\memcached-1.2.6)
- 如果是win7,请把memcached.exe的执行权限设为管理员
- 安装服务 G:\lib\memcached-1.2.6>memcached.exe -d install
- 启动服务 G:\lib\memcached-1.2.6>memcached.exe -d start
这个时候可以看看系统的服务,应该增加了一个memcached的服务
3.3 设定PHP的extention
[PHP_MEMCACHE]
extension=php_memcache.dll
3.4 测试程序
02
|
$memcache
=
new
Memcache;
|
03
|
$memcache
->connect(
"localhost"
,11211); #根据情况要把
"localhost"
改为
"127.0.0.1"
|
05
|
echo
"Server's version: "
.
$memcache
->getVersion() .
"<br />\n"
;
|
07
|
$tmp_object
=
new
stdClass;
|
08
|
$tmp_object
->str_attr =
"test"
;
|
09
|
$tmp_object
->int_attr = 123;
|
11
|
$memcache
->set(
"key"
,
$tmp_object
,false,10);
|
12
|
echo
"Store data in the cache (data will expire in 10 seconds)<br />\n"
;
|
14
|
echo
"Data from the cache:<br />\n"
;
|
15
|
var_dump(
$memcache
->get(
"key"
));
|
不出错,就说明大功告成了。
原文: http://www.infony.co.cc/?p=322
3.4 测试程序
开机时自启动 MEMCACHED
/usr/local/bin/memcached -d -m 10 -u root -l 122.225.96.117 -p 11211 -c 256 -P /tmp/memcached.pid
分享到:
相关推荐
Windows_Memcache安装(XAMPP+Memcache+PHP) 安装步骤,详细说明
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面,"注意这里一定要在超级管理员下执行,否则会出现问题")下输入 'c:\memcached\...
Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建教程
-d install 安装memcached服务 -d uninstall 卸载memcached服务 -u 以的身份运行 (仅在以root运行的时候有效) -m 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,...
1、PHP的Memcached扩展包含5.2.X和5.3.X可用的版本。 2、windows下安装程序(Memcached 1.2.5 win32 binary, compiled against libevent 1.4.4. No warranties)。
里面有适合php5.2*,php5.3*,php5.4* 的php_memcache.dll文件,把php_memcache.dll放在php的 ext 文件夹中,打开php.ini,查找关键字extension,可以看到很多的php扩展,然后在添加 extension=php_memcache.dll 这...
windows 系统下 php memcache 扩展,包括 php7.0.x,php7.1.x,php7.2.x,php7.3.x
2.在终端(也即cmd命令界面)下输入'c:\memcached\memcached.exe -d install'安装 3.再输入:'c:\memcached\memcached.exe -d start'启动。NOTE:以后memcached将作为windows的一个服务每次开机时自动启动。这样...
memcache windows版本下载安装 附件php_memcache.dll(php 5.2适用 其他版本不知道是否可以) 具体安装见附件的安装说明 memcache windows安装,memcache windows下载,memcache下载
windows下php环境的搭建程序包,包括: php-5.3.6-nts-Win32-VC9-x86.msi fcgisetup_1.5_rtw_x86.msi sqlncli.msi php_sqlsrv_53_nts_vc9.dll php_memcache-2.2.6-5.3-nts-vc9-x86.dll 前三个安装,后两个dll放到php...
windows下memcache安装包 附带php扩展包
在windows平台下搭建wamp或者php环境的时候,如果没有memcache服务,会报错找不到memcache()方法,下载并解压这个压缩包,将memcache.exe放到任意位置,然后使用管理员权限在命令行转到那个目录下并执行memcache.exe...
该压缩包包含memcache-win安装包,安装说明文档,php5.2.17的php_memcache.dll
windows下使用memcache方法 含软件 其中包含在PHP下使用方法
该压缩包包含memcache-win安装包,安装说明文档,php5.2.17的扩展文件:php_memcache.dll
这个模块是平和php5.3的,在我的windowsxp php5.3.5上安装成功 里面有两个php库,一个php_memcache.dll.vc6 和一个php_memcache.dll.vc9 另外一个windows的memcache.exe文件,都是网上收集的,因为现在要找齐很不容易,...
windows环境下nginx+php+memcache一步到位配置包
php 5.6 windows 下的 memcache 扩展 线程安全,非线程安全,32位,64位一应俱全
08-windows下安装php-memcache.wmv