一脚踏进Memcached的大门

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

一、Memcached简介

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

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

Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。

本质上,它是一个简洁的key-value存储系统。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

二、Memcached的特性

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

  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

三、Linux下的安装使用

yum install memcached
如果缺少其他包请安装以下组件
yum groupinstall "Development Tools"

四、Memcached配置文件

Memcached的配置文件非常的简单,如果不需要改动就按默认的然后直接启动即可。
主程序:/usr/bin/memcached
配置文件:/etc/sysconfig/memcached

# cat /etc/sysconfig/memcached 
PORT="11211"								# memechaced监听的端口
USER="memcached"							# 运行程序的用户
MAXCONN="1024"							    # 最大并发连接数
CACHESIZE="64" 						        # 缓存大小
OPTIONS=""

五、Memcached的运行命令

/usr/local/memcached/bin/memcached -h 
    -d是启动一个守护进程;
    -m是分配给Memcache使用的内存数量,单位是MB;
    -u是运行Memcache的用户;
    -l是监听的服务器IP地址,可以有多个地址;
    -p是设置Memcache监听的端口,,最好是1024以上的端口;
    -c是最大运行的并发连接数,默认是1024;
    -P是设置保存Memcache的pid文件。

作为后台程序运行
 /usr/local/memcached/bin/memcached -p 11211 -m 64m -d

六、Memcached的连接

memcached默认没有认证机制,可借用于SASL进行认证;所以要想连接memcahced的话直接使用最简单的telnet命令即可连接

telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set foo 0 0 3                                                   保存命令
bar                                                             数据
STORED                                                          结果
get foo                                                         取得命令
VALUE foo 0 3                                                   数据
bar                                                             数据
END                                                             结束行
quit                                                            退出
posted @ 2017-11-11 14:38  农夫三拳L  阅读(302)  评论(0编辑  收藏  举报