PHP memcache的使用教程
(结尾附:完整版资源下载)
首先,为什么要用memcached?如果你看过InnoDB的一些书籍,你应该知道在存储引擎那一层是由一个内存池的。而在内存池中
又有一个缓冲池。而缓冲池就会缓冲查找的数据,碰巧也是采用LRU算法进行管理的。其中运用到了,LRU List,Free List,Flush List。
而且,InoDB还对普通的LRU算法进行了优化,在LRU列表中设置了midpoint位置,使LRU列队不会因为一次过大的查找而把所有数据
“挤”出列队。既然MySQL数据库以及有了缓存,为什么还需要在服务器端内存中再加一个缓存呢?
诚然memcached的缓存效果可能更加好,但主要还是因为InnoDB缓存池中缓存的是数据页,LRU列表保存的是最近使用的页。如下图:
而memcached缓存的是键值对,效果肯定更好。
ge
接下来,我们介绍一下memadin这个工具:
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。
对于使用PHP想用Memcached的程序员,MemAdmin应该是你的首选。
官网说明的主要功能:
服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新
服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控
支持数据遍历,方便对存储内容进行监视
支持条件查询,筛选出满足条件的KEY或VALUE
数组、JSON等序列化字符反序列显示
兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)
支持服务器连接池,多服务器管理切换方便简洁
演示地址:http://www.junopen.com/memadmin/
1、首先你需要有一个php环境,windows下开发的朋友推荐使用wampserver,稳定,简单
2、安装php的memcached扩展程序
安装方法如下:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在d:\memcached。
2. 进入cmd命令行,输入d:\memcached\memcached.exe -d install安装。
3. 再输入:d:\memcached\memcached.exe -d start启动。
4.下载php_memcache.dll,注意查找对应的php版本的文件,放在php文件夹的ext目录中。一定要注意版本!
5. 在C:\Windows\php.ini 加入一行 extension=php_memcache.dll
6.重新启动web服务(iis或Apache),然后查看一下phpinfo,如果有memcache,那么就说明安装成功(如下图)
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 显示帮助!
3、然后将memadin的包复制到php中www的目录下
4、这样就可以登陆使用了
最后再提一点,memcache与memcached的区别。
网上的资料大体的意思是,memcached是一种技术,或者说攻略。而memcache是PHP使用该项技术的扩展,类似于C语言的库函数。通过库函数调用某些函数来执行你要的功能,比如画图的graphics.h
但现在php有了显得memcached扩展,他是memcache的升级版,功能更加强大,效率也更加快。但只支持oop,而且依赖于libevent类库,所以必须先装libevent类库。这就类似于myql 和 mysqli 的关系。