zoukankan      html  css  js  c++  java
  • 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:memcachedmemcached.exe -d install安装。


    3. 再输入:d:memcachedmemcached.exe -d start启动。


    4.下载php_memcache.dll,注意查找对应的php版本的文件,放在php文件夹的ext目录中。一定要注意版本!


    5. 在C:Windowsphp.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 的关系。

  • 相关阅读:
    通用权限的思路。带有数据库关系图
    三层架构之我见 —— 不同于您见过的三层架构。
    n级分类的数据结构
    JS经典源码:通用JavaScript脚本函数库
    SQL 复习笔记
    ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI。
    DataSet导出到Excel比较完整的解决方案(二)服务器端生成文件(downmoon)
    DataSet导出到Excel比较完整的解决方案(一)客户端生成文件(downmoon)
    Squid详细配置实用文档
    Awstats分析nginx日志
  • 原文地址:https://www.cnblogs.com/xyxxs/p/4495845.html
Copyright © 2011-2022 走看看