一脚踏进Memcached的大门

简介: Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。

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

img_b1575a4e75cb08e25685bef2611a6ec4.png

一、Memcached简介

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

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

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

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

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

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

二、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                                                            退出
目录
相关文章
|
存储 缓存 NoSQL
走进 Redis,让你重新认识 redis。绝不是表面
说到Redis我们不禁的会联想到:缓存。提到缓存我们要聊的就有很多了。
|
NoSQL 安全 大数据
Redis的自白:我为什么在单线程的这条路上越走越远?(下)
Redis的自白:我为什么在单线程的这条路上越走越远?
132 0
Redis的自白:我为什么在单线程的这条路上越走越远?(下)
|
NoSQL JavaScript 应用服务中间件
Redis的自白:我为什么在单线程的这条路上越走越远?(上)
Redis的自白:我为什么在单线程的这条路上越走越远?
100 0
Redis的自白:我为什么在单线程的这条路上越走越远?(上)
|
缓存 PHP 数据库
怎么用宝塔面板安装memcached?
怎么用宝塔面板安装memcached? 宝塔面板安装memcached后可以给服务器提速,进而加快网站访问速度,提高用户体验。很多朋友不知道如何操作,赵一八分享通过宝塔面板安装memcached及详细配置方法,希望对你有用。
868 0
怎么用宝塔面板安装memcached?
|
存储 缓存 算法
艾伟:memcached完全剖析–1. memcached的基础
本系列文章导航 memcached完全剖析–1. memcached的基础 memcached全面剖析–2.理解memcached的内存存储 memcached全面剖析–3.memcached的删除机制和发展方向 memcached全面剖析–4. memcached的分布式算法 memcached全面剖析–5. memcached的应用和兼容程序 asdfaaf asdfsaf 翻译一篇技术评论社的文章,是讲memcached的连载。
1137 0
|
存储 监控 Java
艾伟:Memcached使用点滴
  我对于Memcached的接触,还是在去年看了CSDN的一系列国外大型网站架构设计而开始的。最初的时候只是简单的封装了Memcached Java版的客户端,主要是对于配置的简化以及Memcached多点备份作了一些工作,然后就作为ASF的组件一部分提供给其他Team使用。
1177 0
|
测试技术 Memcache
艾伟_转载:.NET平台上的Memcached客户端介绍
早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子,就把所有问题都当成钉子”的人。我第一个念头就是,上Memcached的官网找.NET的客户端。
870 0
|
存储 缓存 算法
艾伟:memcached全面剖析–4. memcached的分布式算法
本系列文章导航 memcached完全剖析–1. memcached的基础 memcached全面剖析–2.理解memcached的内存存储 memcached全面剖析–3.memcached的删除机制和发展方向 memcached全面剖析–4. memcached的分布式算法 memcached全面剖析–5. memcached的应用和兼容程序 asdfaaf asdfsaf 发表日:2008/7/23 作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0004 我是Mixi的长野。
1075 0
|
存储 算法 网络协议
艾伟:memcached全面剖析–5. memcached的应用和兼容程序
本系列文章导航 memcached完全剖析–1. memcached的基础 memcached全面剖析–2.理解memcached的内存存储 memcached全面剖析–3.memcached的删除机制和发展方向 memcached全面剖析–4. memcached的分布式算法 memcached全面剖析–5. memcached的应用和兼容程序 asdfaaf asdfsaf 发表日:2008/7/30 作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0005 我是Mixi的长野。
1076 0
|
存储 移动开发 缓存
艾伟:自己实现memcached客户端库
What's memcached ? memcached是一个以key-value的形式缓存数据的缓存系统。通过将数据缓存到内存中,从而提高数据的获取速度。memcached以key-value的形式来保存数据,你可以为你每一段数据关联一个key,然后以后可以通过这个key获取这段数据。
819 0