什么是 Memcache Memcached
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著,这是一套开放源代码软件,以BSD license授权发布。
Memcache 相当于类
Memcached 相当于方法 Memcached调用Memcache
memcached的作用和特征:
作用:它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable
特征:memcached作为高速运行的分布式缓存服务器,
1)协议简单
2)基于libevent的事件处理
3)内置内存存储方式
4)memcached不互相通信的分布式
适用场合:
分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。(分布式系统(distributed system)是建立在网络之上的软件系统。处理各项协助的任务,然后整合出结果。)
数据库缓存。memcached是基于分布式的,并可独立于网站应用本身,所以更适合大型网站进行应用的拆分。
服务器间数据共享。举例来讲,我们将网站的登录系统、查询系统拆分为两个应用,放在不同的服务器上,并进行集群,那这个时候用户登录后,登录信息如何从登录系统服务器同步到查询系统服务器呢?这时候,我们便可以使用memcached,登录系统将登录信息缓存起来,查询系统便可以获得登录信息,就像获取本地信息一样。
不适用场合:
memcached 是分布式的所以 不需要分布的就不需要了 ,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源
支持的语言许多语言都实现了连接memcached的客户端其中以Perl、PHP为主
http://pecl.php.net/ 官方网址
下载memched并安装的地址
32位系统 1.2.5版本:http://static.runoob.com/download/memcached-1.2.5-win32-bin.zip
32位系统 1.2.6版本:http://static.runoob.com/download/memcached-1.2.6-win32-bin.zip
32位系统 1.4.4版本:http://static.runoob.com/download/memcached-win32-1.4.4-14.zip
64位系统 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip
32位系统 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-x86.zip
64位系统 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-amd64.zip
提示:你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可:
http://www.runoob.com/memcached/window-install-memcached.html
安装方式:
解压下载的安装包到指定目录。
2、在 1.4.5 版本以前 memcached 可以作为一个服务安装,使用管理员权限运行以下命令:
c:\memcached\memcached.exe -d install
注意:你需要使用真实的路径替代 c:\memcached\memcached.exe。
3、然后我们可以使用以下命令来启动和关闭 memcached 服务:
c:\memcached\memcached.exe -d start
c:\memcached\memcached.exe -d stop
4、如果要修改 memcached 的配置项, 可以在命令行中执行 regedit.exe 命令打开注册表并找到 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached" 来进行修改。
如果要提供 memcached 使用的缓存配置 可以修改 ImagePath 为:
"c:\memcached\memcached.exe" -d runservice -m 512
-m 512 意思是设置 memcached 最大的缓存配置为512M。
此外我们还可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。
5、如果我们需要卸载 memcached ,可以使用以下命令:
c:\memcached\memcached.exe -d uninstall
测试:
telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. set foo 0 0 3 保存命令 bar 数据 STORED 结果 get foo 取得命令 VALUE foo 0 3 数据 bar 数据 END 结束行 quit 退出
解压缩后将其中的memcache.dll考到你的PHP ext中 并且在PHP.ini中叫'extension=php_memcache.dll'
重启apache 在phpinfo中查看memcache有 就成功