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环境下,结合XAMPP和PHP环境进行安装,只需要按照上述步骤,即可轻松配置Memcache服务。通过学习和使用Memcache提供的接口,开发者可以有效管理内存缓存,提升Web应用的响应速度和处理能力。
在Windows环境下安装Memcache是一个相对较为特殊的操作,因为Memcache主要设计用于Unix/Linux系统,但通过一些工具和步骤,我们也可以在Windows上实现这一过程。本文将详细介绍在Windows上安装Memcache的步骤,并...
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面,"注意这里一定要在超级管理员下执行,否则会出现问题")下输入 'c:\memcached\...
### Windows 2008R2 + IIS7.5 + PHP + MySQL + Wincache + Memcache + URL伪静态环境搭建教程 #### 搭建背景与目标 本教程旨在帮助初学者或未成功搭建该环境的学习者完成一套完整的Windows 2008R2 + IIS7.5 + PHP ...
标题中的“win7安装配置memcache+php”指的是在Windows 7操作系统上安装并配置Memcache,一个内存对象缓存系统,以及将其与PHP环境整合的过程。描述中提到的“分布式缓存”是指Memcache可以在多台服务器之间共享数据...
Windows环境下,安装PHP Memcache扩展主要涉及以下步骤: - 首先,确保你的PHP版本与Memcache扩展兼容。根据描述,这个压缩包支持PHP7.0.x到PHP7.3.x版本。你需要下载对应版本的PHP Memcache DLL文件,如`...
-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 这...
针对“memcache安装php5.2.17的php_memcache.dll”的主题,我们将深入探讨如何在Windows环境下安装和配置这个扩展。 1. **下载准备** 首先,你需要下载与PHP版本兼容的php_memcache.dll文件。在本例中,对应的是...
描述中的"windows下memcache安装包 附带php扩展包"揭示了这个压缩包不仅包含了Memcache服务端的安装程序,还提供了PHP语言的Memcache扩展,使得开发者可以在基于Windows环境的PHP应用中集成和使用Memcache。...
2.在终端(也即cmd命令界面)下输入'c:\memcached\memcached.exe -d install'安装 3.再输入:'c:\memcached\memcached.exe -d start'启动。NOTE:以后memcached将作为windows的一个服务每次开机时自动启动。这样...
**安装过程**:将对应PHP版本的memcache.dll文件放入PHP的`ext`目录下,然后在php.ini配置文件中启用该扩展,例如添加`extension=memcache.so`(Linux) 或 `extension=php_memcache.dll`(Windows)。重启PHP服务后,就...
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 XP环境下安装PHP的Memcache扩展。 首先,我们需要获取必要的组件。在提供的文件列表中,有两个关键文件: 1. `php_memcache.dll` - 这是PHP的Memcache扩展动态链接库文件,用于在...
**Windows环境下Memcached的安装与配置** 在Windows操作系统中,Memcached是一款高效、轻量级的内存对象缓存系统,常用于加速动态Web应用程序。它通过存储数据在内存中,减少对数据库的直接访问,从而提高了网站的...
在windows平台下搭建wamp或者php环境的时候,如果没有memcache服务,会报错找不到memcache()方法,下载并解压这个压缩包,将memcache.exe放到任意位置,然后使用管理员权限在命令行转到那个目录下并执行memcache.exe...
本篇文章将详细讲解在Windows环境下,针对PHP 5.6版本安装和配置`Memcache`扩展的过程,以及线程安全与非线程安全、32位与64位的选择。 `Memcache`是一种高性能的分布式内存对象缓存系统,它能够在内存中存储数据,...