memcache配置详解

来源:互联网 发布:品浪渔具淘宝店 编辑:程序博客网 时间:2024/05/12 03:29
关于MemCache
<?php
    其实memcache,就是在内存中开辟了一个高速缓冲区,对内存的要求比较高。而ngix呢,是对cpu的要求比较高,所以,memcache和ngix是一个黄金搭档。
    在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。
此时Memcached或许是你想要的。
    #Memcached是什么?#
Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
    #Memcached能缓存什么?#
通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
    #Memcached快么?#
非常快。Memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表, 因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。
   
    Danga Interactive为提升Danga Interactive的速度研发了Memcached。目前,LiveJournal.com每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由web服务器和数据库服务器组成的集群完成的。Memcached几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及Memcache失效时对数据库的访问速度。
    Memcached的特点Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。
?>   
win32的安装方法
     1. 下载memcache压缩包的windows相对应版本,解压放某个盘下面,比如在D:\memcached
     2. 在命令提示符下下输入 'D:\memcached\memcached.exe -d install' 安装
     3. 再输入: 'D:\memcached\memcached.exe -d start' 启动
          注意: 以后memcached将作为windows的一个服务每次开机时自动启动。
     4. 在php.ini中 加入一行 'extension=php_memcache.dll'
     5. 下载pecl的PECL 5.2.6 的memcache.dll拷贝到php下的ext扩展目录中
     6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
Memcache类方法
     <?php
    * Memcache::add — 增加一个条目到缓存服务器   //add 是 当已经存在这个 key的时候 返回false 不进行存储
    * Memcache::addServer — 向连接池中添加一个memcache服务器
    * Memcache::close — 关闭memcache连接
    * Memcache::connect — 打开一个memcached服务端连接
    * Memcache::decrement — 减小元素的值
    * Memcache::delete — 从服务端删除一个元素
    * Memcache::flush — 清洗(删除)已经存储的所有的元素
    * Memcache::get — 从服务端检回一个元素
    * Memcache::getExtendedStats — 缓存服务器池中所有服务器统计信息
    * Memcache::getServerStatus — 用于获取一个服务器的在线/离线状态
    * Memcache::getStats — 获取服务器统计信息
    * Memcache::getVersion — 返回服务器版本信息
    * Memcache::increment — 增加一个元素的值
    * Memcache::pconnect — 打开一个到服务器的持久化连接
    * Memcache::replace — 替换已经存在的元素的值
    * Memcache::set — Store data at the server        //set 当存在这个key的时候 覆盖值
    * Memcache::setCompressThreshold — 开启大值自动压缩
    * Memcache::setServerParams — 运行时修改服务器参数和状态
       
//压缩是MEMCACHE_COMPRESSED     1
//不压缩是false是么             0
?>
memcache使用方法
 <?php
    $memcache = new Memcache; //实例化Memcache对象
    $memcache->connect('localhost', 11211) or die ("Could not connect");  //打开一个memcached服务端连接,端口必须是11211,否则会报错
    $version = $memcache->getVersion();
    $memcache->set("varname","value"); //设置变量,可覆盖以前的值
    echo "Server's version: ".$version."<br/>";//返回服务器版本信息
?>
原创粉丝点击