您的位置:首页 > 数据库 > Memcache

memcached之memcached介绍

2012-09-11 08:46 218 查看
memcached之memcached介绍

---------

现在许多web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据响应恶化、网站显示延迟等重大影响。

这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度、提高可扩展性。

memcached的特征

memcached作为高速运行的分布式缓存服务器,具有以下的特点:

1.协议简单

2.基于libevent的事件处理

3.内置内存存储方式

4.memcached不互相通信的分布式

协议简单

memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据。如例:

[plain]
view plaincopy

$ telnet localhost 11211  
Trying 127.0.0.1...  
Connected to localhost.localdomain(127.0.0.1).  
Escape character is '^]'.  
set foo 0 0 3  (保存命令)  
bar         (数据)  
STORED      (结果)  
get foo     (取得命令)  
VALUE foo 0 3 (数据)  
bar         (数据)  

基于libevent的事件处理

libevent是个程序库,它将linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。memcached使用这个libevent库,因此能在linux,BSD,Solaris等操作系统上发挥其高性能。

内置内存存储方式

为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU算法(LRU是Least Recently Used最近最少使用算法)自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,

因此并没有过多考虑数据的永久性问题。

memcached不互相通信的分布式

memcached尽管是"分布式"缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息