Ubuntu环境下Memcached的应用

Ubuntu环境下Memcached的应用

1、概述

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

Memcached的API使用循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当数据表格满了以后,接下来新增的数据会以LRU机制替换掉。由于Memcached通常只是当作快取系统使用,所以使用Memcached的应用程式在写回响应较慢的系统时(如后台的数据库)就需要额外的程序来更新Memcached内的资料。

2、特征

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

协议简单、事件处理、内存存储方式、通信分布式。

2、1 协议简单

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

2、2 事件处理

Memcached事件处理基于libevent库, libevent将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥强劲的输出性能。Memcached正因使用这个libevent库,才能在Linux、BSD、Solaris等操作系统上发挥其高性能。

2、3 内存存储方式

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

2、4 通信分布式

memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。分布式功能需要在客户端实现。

3、安装流程

测试环境:Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)

3、1 安装依赖组件

通过源码编译安装,编译前,确认gcc,make,patch等编译工具是否已安装;

安装gcc/g++

sudo apt-get install build-essential

3、2 安装流程

运行memcached需要用到libevent,因此优先安装libevent。

3、2、1 安装libevent

下载libevent源码:

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

进入libevent包的下载路径(/home),解压缩文件到当前文件目录下:

tar xzvf libevent-2.0.21-stable.tar.gz

进入解压出的文件目录:

cd libevent-2.0.21-stable

执行文件目录中的configure:

./configure

执行make安装

make

sudo make install

3、2、2 安装Memcached

下载memcached源码包:

(查找最新安装包:http://memcached.org/latest)

wget http://www.memcached.org/files/memcached-1.4.21.tar.gz

解压缩:

tar -zxvf memcached-1.4.21

进入解压缩文件夹:

cd memcached-1.4.21

编译安装:

./configure

make

sudo make install

memcached默认安装到 /usr/local/bin目录下

4、测试

使用telnet测试:

启动memcached:

memcached -d -p 12345 -u nobody -c 1024 -m 64

telnet连接到memcached:

telnet localhost 12345

保存数据:

set test 0 30 14

memcached test

读取数据:

get test

Memcached相关命令:(需要使用telnet:连接到memcached之后才可以使用命令)

“stats”,使用它可以获得各种各样的信息, 包括资源利用率在内的各种信息;

“stats slabs”或“stats items”还可以获得关于缓存记录的信息;

“quit”,结束程序输入。

5、答疑

问:为何我正确配置了Memcached,端口是11111,测试却连接不上?

答:Memcached的监听端口需要Memcached的默认端口11211,由于11111小于11211,所以连接不上,更改端口即可!

问:flush_all [options] ,options可选参数的数字代表什么?

答:options是用数字表示,以秒为单位,是延迟多长时间执行flush_all的意思,如【flush_all 5】,就是五秒后执行flush_all命令。

时间: 2024-10-10 07:23:13

Ubuntu环境下Memcached的应用的相关文章

Ubuntu环境下的Redis 配置与C++使用入门

  Redis是一个高性能的key-value数据库. Redisedis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便. 本文将通过介绍Ubuntu环境下的Redis 配置,介绍C++入门使用的方式,帮助读者快速上手Redis. 安装配置 获取源码.解压.进入源码目录,编译

Ubuntu环境下SSH的安装及使用

Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机制. SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudoapt-get install openssh-client),如果要使本机开放SSH服务就需要安装ope

Windows和Linux环境下Memcached安装与配置(转)

一.memcached安装配置 windows平台安装 1.memcached-1.2.6-win32-bin.zip下载地址: http://code.jellycan.com/memcached/,执行memcached.exe -d install 安装. 2.守护进程方式启动:memcached.exe -m 512 -d start-d为守护进程启动,不能指定端口 默认端口11211-m为指定内存大小 3.指定端口启动:memcached.exe –p 33000 -m 512可以启动

Ubuntu环境下Webbench的应用

Ubuntu环境下Webbench的应用 1.概述 Webbench是知名的网站压力测试工具.Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试. Webbench最多可以模

Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合

1在ubuntu上测试Firefox OS(B2G)系统 Firefox OS,项目代号为"Boot 2 Gecko",是一个开放的完全基于WEB标准的智能手机操作系统,由Mozilla公司开发.Firefox OS 底层属于Linux,开放的Web技术,而不是特定于平台的原生API,用HTML5 编写应用程序.Firefox OS 每日构建版目前可在电脑桌面上试用. 安装过程非常简单,下面是详细的步骤说明: 点 这里 下载 ... 2在 ubuntu系统上建立b2g系统(翻译) 你已

Ubuntu环境下安装SVN客户端

1.在Ubuntu环境下安装svn需要一下依赖包 subversion-1.8.10.tar.gz:http://download.csdn.net/detail/luo849278597/8208909 sqlite-amalgamation-3071501.zip:http://download.csdn.net/detail/luo849278597/8208923 m4-1.4.17.tar.gz:http://download.csdn.net/detail/luo849278597/

ubuntu环境下eclipse的安装以及hadoop插件的配置

ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要输入用户密码. 二.eclipse的配置 待eclipse安装好以后,在命令行输入whereis eclipse 找到eclipse的安装路径 在文件目录下找到eclipse中的插件目录 然后在打开一个文件目录窗口找到hadoop/contrib/eclipse-plugin中的eclipse插件—

Linux(ubuntu)环境下配置weka

下载java vm.在命令行输入 wget --no-cookie --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-i586.tar.gz 注意命令行中参数表示带cookie的下载请求,如果没有这个命令行参数下载下来的只是一个5k的网页. 安装java vm.创建java 目录 sud

【转载】Ubuntu环境下配置Android Studio

之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclipse+ADT最多只能算Google的干儿子,特别是在有了亲儿子Android Studio后,今后的潮流必定是使用Android Studio进行android开发. 因为嫌麻烦,所以一直没尝试,昨天闲来无事,鼓捣了一下,把Android Studio配置好了,最大的直观感受就是:漂亮!对平时总是羡