Memcached简介及使用说明

来源:互联网 发布:安卓 airplay软件 编辑:程序博客网 时间:2024/05/04 21:39

一、memcached 简介

       在很多场合,我们都会听到 memcached   这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。这里简单介绍一下,memcached 是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序。

二、memcached安装及运行

      下载所需的库文件:目前最新版本是 1.1.12 。除此之外,运行memcached还所需一个名为libevent的库。
运行memcached守护进程:
     运行 memcached 守护程序很简单,只需一个命令行即可。如下:
    /usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd

参数解释:
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。

三、memcached 工作原理

    memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。PHP 等客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。

四、Memcached具体应用  
       这里我们使用最熟悉的PHP作为Memcached客户端。
         有两种方法可以使 PHP 作为 memcached 客户端,调用 memcached 的服务进行对象存取操作。
       1.在Linux系统中编译安装PHP时,带上–enable-memcache[=DIR] 选项。Window 下则在 php.ini 中去掉 php_memcache.dll 前边的注释符,使其可用。
       2. 采用最直接的方式include/require memcached-client类库文件。这种方式调用效率上会比第一种方式稍差一点。

Memcached-client类库主要包含4个成员方法可用:
add()、get()、replace() 、 delete()

add ($key, $val, $exp = 0)   - 写入对象
get ($key)     - 读取对象
replace ($key, $value, $exp=0)  - 替换对象内容
delete ($key, $time = 0)   - 删除对象

PHP Code Example:


结合MySQL使用的PHP代码:

相关资源:
Memcached官网:http://www.danga.com/memcached/

另:本文章来源于公司组织的技术讲座,我在次借花献佛,以便更多的人共享这些知识,这也是我们当时举办各种
讲座的初衷.此次讲座遗留了下面一些问题,需要继续探讨:
1)memcached的分布式的机制
2)memcached的缓存淘汰机制
 

原创粉丝点击