(结尾附:完整版资源下载)

  首先,为什么要用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 的关系。

最新文章

  1. 用C表达面向对象语言的机制——C#版
  2. Chrome开发者工具不完全指南(一、基础功能篇)
  3. 配置Maven环境并创建简单的web项目步骤
  4. Apache配置文件讲解
  5. Extjs tree 更改图标
  6. 040. asp.netWeb中TreeView控件绑定XML文件
  7. Dapper学习 - Dapper的基本用法(二) - 存储过程/函数
  8. delete-by-query插件
  9. sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
  10. gulp小记(无刷新重载样式)
  11. How To Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu
  12. How good software makes us stupid?
  13. css扁平化博客学习总结(一)模块分析
  14. 尽历磨难,搞定OPEN VSWITCH安装
  15. PHP正则表达式屏蔽电话号码中间段
  16. Flex中宽度计算
  17. SQLite常用函数及语句
  18. 推酷文章中编写js组件系列文章整理
  19. 20165328 学习基础和C语言基础调查
  20. [TPYBoard - Micropython之会python就能做硬件 开篇]会python就能做硬件!

热门文章

  1. ECMall2.x模板制作入门系列之2(模板标签/语法)
  2. 无语的Filezilla
  3. 读CLR via C#笔记
  4. 实现DIV居中的几种方法
  5. 关于appStore不显示构建版本的问题
  6. Yii2 Restful API 原理分析
  7. mysql information_schema 数据库简介:
  8. Docker是用来干什么的?【快速入门】
  9. 如何用redis/memcache做Mysql缓存层
  10. SQLServerException:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。