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 的关系。
PHP memcache的使用教程的更多相关文章
- Memcache教程 Memcache零基础教程
Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...
- win7下64位系统memcache/memcached安装教程
折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别 在自己的新程序中打算全面应用memcached ...
- wamp在win7下64位系统memcache/memcached安装教程
折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别 在自己的新程序中打算全面应用memcached ...
- memcache/memcached安装教程并应用Tinkphp3.2
在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?其实很简单,memcache是php的一个扩展,用于php管理mem ...
- Centos安装Memcached和(Nginx)Memcache扩展详细教程
下载memadmin,下载地址:http://www.junopen.com/memadmin/ 并在IIS新建站点. 测试地址:http://wap.yousawang.com/mem , 1.重启 ...
- [浪风推荐]php的memcache应用入门教程
所需环境: php 5.3.3 apache 2.2.7 mysql 5.5.8 解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install 将php5.3 ...
- Yii系列教程(四):使用Memcache保存会话
1环境准备 安装Memcached服务端: yum -y installmemcached.x86_64 安装PHP-Memcache扩展: yum -y installphp-pecl-memcac ...
- Memcached和Memcache 配置教程windows X64
一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...
- Memcached和Memcache安装(64位win7)
一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...
随机推荐
- HDU 1867 A + B for you again(KMP算法的应用)
A + B for you again Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 1. DataBinding - offical tutorial
1. DataBinding - offical tutorial android DataBinding tutorial 构建环境 数据与布局文件的绑定 data binding 表达式 数据对象 ...
- cannot be translated into a null value due to being declared as a primitive type. Consid
严重: Servlet.service() for servlet [note-portal] in context with path [] threw exception [Request pro ...
- poj1961 Period kmp解决找字符串的最小循环节
/** 题目:poj1961 Period 链接:http://poj.org/problem?id=1961 题意:求从1到i这个前缀(2<=i<=N) ,如果有循环节(不能自身单独一个 ...
- 多线程中wait和notify的理解与使用
1.对于wait()和notify()的理解 对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有: void notify() Wakes up a s ...
- easy UI树形复选框
首先,展示一下结果 这个是使用easyui的combotree控件来实现的,具体的代码如下: 1,声明一个复选框 <select id="rolePer" name=&quo ...
- Tomcat nginx log日志按天分割切割
利用 Linux 自带的 logrotate 工具来实现按天切割日志.下方已 centos 7 系统为例来实践讲解. 原理 Logrotate是基于CRON来运行的,其脚本是/etc/cron.dai ...
- 为 Ruby 程序员准备的 Go 入门教程
这是我翻译的国外博客,如需转载请注明出处和原文链接 那些在Google的大牛们开发出了一种称为Go的牛叉的语言.乍一看,Ruby和Go有点像远房表亲.其实不然,他们那些互为补充的功能却让他们成为一对完 ...
- 什么是 Web?
Web这个词刚开始显得有些泛泛,似乎“冲浪”.“网上存在”以及“主页”等等都和它拉上了一些关系. 甚至还有一种“Internet 综合症”的说法,对许多人狂热的上网行为提出了质疑.我们在这里有必要作一 ...
- oracledbconsole db启动问题
oracledbconsole db启动问题 被这个OracleDBconsole服务无法启动的问题折磨了两个星期了,今天很幸运,在网上无意间看到了一位大侠的思路,虽然错误的情况并不完全相同,但他的思 ...