码迷,mamicode.com
首页 > 系统相关 > 详细

Memcached

时间:2015-11-17 00:26:04      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:memcached

一、Memcached简介  

  Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景。

其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,

用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。


memcached是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。


Memcached是一款开发工具,它既不是一个代码加速器,也不是数据库中间件。其设计哲学思想主要反映在如下方面:

1. 简单key/value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可。存储项由“键、过期时间、可选的标志及数据”四个部分组成;

2. 功能的实现一半依赖于客户端,一半基于服务器端:客户负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期;

3. 各服务器间彼此无视:不在服务器间进行数据同步;

4. O(1)的执行效率

5. 清理超期数据:默认情况下,Memcached是一个LRU缓存,同时,它按事先预订的时长清理超期数据;但事实上,memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长


Memcached提供了为数不多的几个命令来完成与服务器端的交互,这些命令基于memcached的协议实现。


存储类命令:set, add, replace, append, prepend

获取数据类命令:get, delete, incr/decr

统计类命令:stats, stats items, stats slabs, stats sizes

清理命令: flush_all


二、安装libevent


memcached依赖于libevent API,因此要事先安装之,项目主页:http://libevent.org/,读者可自行选择需要的版本下载。本文采用的是目前最新版本的源码包libevent-2.0.21-stable.tar.gz。

安装过程:

# tar xf libevent-2.0.21-stable.tar.gz

# cd libevent-2.0.21

# ./configure --prefix=/usr/local/libevent

# make && make install


# echo "/usr/local/libevent/lib" > /etc/ld.so.conf.d/libevent.conf

# ldconfig 


三、安装配置memcached


Memcached

标签:memcached

原文地址:http://xiexiaojun.blog.51cto.com/2305291/1713297

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!