摘要:最近在看《大型分布式网站架构设计与实践》这本书,把其中的学习过程记录一下,以便日后复习。
一:Memcached简单介绍和描述:
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,
从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,
并通过memcached协议与守护进程通信。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到
内存中,然后从内存中读取,从而大大提高读取速度。
二:Memcached的工作原理:
工作原理:
①.客户端第一次访问应用程序时,会到数据库(RDBMS)中取出数据,返回给客户端;同时也将取出的数据保存到memcached中。
②.第二次访问时,因为数据已经缓存,不不用去数据库查询了,直接从memcached取。
那么memcached的快速和高效率是如何体现出来的呢?我们都清楚,RDBMS是文件型的数据库,最终还是以文件的形式保存在磁盘上。而memcached则不一样,
它是key:value关系型的数据库,是保存在内存中的。那么就不用我再做说明了,内存的读写速度要比磁盘的读写速度快得多,前者是后者的10的6次方倍。
http://blog.rekfan.com/?p=172
Memcached支持Linux系统,也支持Windows系统,分别需要不同的安装包,鉴于在Windows使用比较少,所以散仙今天就总结一下,在Centos下安装Memcached
的整个流程,一方面是为了记录一下,防止日后生疏,另一方面也为刚刚使用Memcached的朋友们,提供一份入门的教程。
下面进入正题:
首先,memcached是基于libevent的,所以确保你的系统已经装了libevent,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理
功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上
发挥其高性能。
由于memcached和libevent是由C编写的,所以首先确保你的系统安装了gcc,如果
没有安装,使用yum安装即可
命令:
yum -y install gcc
yum -y install gcc-c++
然后下载 libevent
然后上传centos,进行给予权限,然后解压
# tar xzvf libevent-2.0.21-stable.tar.gz ##解压
# cd libevent-2.0.21-stable
# ./configure --prefix=/usr
# make
# make install
安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)
然后下载 memcached
# tar xzvf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --with-libevent=/usr
# make
# make install
安装结果(ls -al /usr/local/bin/memcached)如图3:
关于memcache启动的一些参数说明:
memcached命令参数解释:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址, 默认是本机
-d start 启动memcached 服务
-d restart 重起memcached 服务
-d stop|shutdown 关闭正在运行的memcached 服务
-d install 安装memcached 服务
-d uninstall 卸载memcached 服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助
然后执行命令启动memcached
#/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid
然后就可以使用telnet,来测试memcache的连接状态,
如果没有安装telnet服务,可以执行
yum install telnet-server
安装服务
yum install telnet
安装命令
然后编辑vi /etc/xinetd.d/telnet 文件,激活telnet,默认是禁用的,截图如下4:
然后重启服务,执行命令 service xinetd restart
然后就可以测试memcached的连接,执行命令
telnet 127.0.0.1 11211
输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可,截图如下5:
退出telnet,执行quit命令即可,上图所示的memcached进程ID,很重要,如果我们需要关闭memcached服务时,就可以执行命令,kill -9 进程号 即可。
最后,我们在来看下如何使用JAVA API,简单的来测试下memcached,注意如果memcached的端口号,需要对外开放,否则,将会出现连接不上的异常,测试环境我们可以把防火墙关闭测试:
用到的jar包,如下所示截图6:
控制台打印内容如下所示:
2014-03-18 18:13:30.008 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.75.130:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-03-18 18:13:30.011 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@33c3e6
1111测试memcache成功了吧
2014-03-18 18:13:30.020 INFO net.spy.memcached.MemcachedClient: Shut down memcached client
至此,我们已经安装测试成功了,最后把memcached的JAVA API所用到的工程和jar上传上来,方便大家测试,下载连接如下:
http://download.csdn.net/detail/sxdtzhaoxinguo/9529017
参考地址:http://www.tuicool.com/articles/qYJBVb
分享到:
相关推荐
CentOS 安装配置 Memcached 在本文中,我们将详细介绍如何在 CentOS 系统上安装和配置 Memcached。Memcached 是一个高性能的分布式内存对象缓存系统,广泛应用于各种 web 应用程序中,以提高应用程序的性能和响应...
在本文中,我们将深入探讨如何在CentOS 6.5操作系统上安装和配置Memcached,一个流行的、高性能的分布式内存对象缓存系统。这个过程对于优化数据库读取速度,减轻数据库负载,以及提升Web应用程序的整体性能至关重要...
### Linux下安装memcached详细步骤 #### 一、前言 在Linux环境下部署memcached能够极大地提高应用程序的性能,尤其是在需要缓存数据的应用场景中。本文将详细介绍如何在64位Linux系统上安装memcached,并分享作者...
在 Linux 环境下安装 Memcached 扩展对于提高基于 PHP 的 Web 应用性能至关重要。本文将详细介绍如何在 Linux 上安装和配置 PHP 的 Memcached 扩展。 #### 二、安装前准备 1. **确保环境已安装 PHP**:在开始安装 ...
在Linux环境中,特别是CentOS操作系统下,为了提升网站性能,我们常常会使用Memcached作为缓存服务,并通过PHP的Memcached扩展与之交互。本文将详细介绍如何在CentOS上安装Memcached及其PHP Memcached扩展。 首先,...
Linux下的Memcached安装教程 Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。在Linux环境下安装Memcached,可以帮助我们优化服务器性能,提升应用...
php memcached扩展,内含安装手册以及源码包,libevent-2.0.22,libmemcached-1.0.18,memcached-1.4.25,memcached-2.2.0,已经在CentOS6.5上进行测试通过。
在本文中,我们将详细介绍如何在CentOS ...通过以上步骤,你应该能够在CentOS 6.0上成功安装并配置Nginx和Memcached,同时掌握了一些基本的Linux系统管理命令。这将为你的Web服务器提供高效的数据缓存和可靠的Web服务。
接下来,我们将详细讨论如何在Linux环境下安装和配置Memcached。 首先,确保你的系统是最新的。对于基于Debian或Ubuntu的系统,可以使用以下命令更新系统: ```bash sudo apt-get update sudo apt-get upgrade ```...
类似于Windows,Linux下的客户端使用也涉及连接到特定的IP和端口,通过各种语言的客户端库进行操作,如Python的`python-memcached`库。 【Memcached集群】: 为了提高可用性和扩展性,Memcached可以部署为集群。...
在Linux系统中,通过源代码安装Memcached涉及到多个步骤,包括查询Memcached的依赖库libevent、下载源码包、编译安装libevent和Memcached、启动Memcached服务器以及设置开机自启动。下面将详细介绍这些过程。 首先...
在Linux系统,特别是CentOS 5.3这样的老版本中,安装和配置现代软件可能会遇到一些挑战,因为这些系统可能不包含最新版本的库和工具。在这个教程中,我们将详细介绍如何在CentOS 5.3上安装Memcached服务以及相关的...
我的第一个成功的基于 Docker 的映像用于 CentOS 7.0 上的 Memcached 1.4.22,旨在与。 我的 Docker Hub 仓库 Centmin Mod Docker 开发论坛 从 Docker Hub 抓取 docker pull centminmod/docker-centos7-memcached ...
在本篇文章中,我们将详细探讨在CentOS环境下安装和配置Nginx 0.8.52、PHP 5.3.3、MySQL 5.5.6以及Memcached 1.4.5这一系列软件的过程,同时还会对配置进行优化以达到提升性能的目的。这些技术组件共同构成了一个...
在Linux环境下搭建Memcached集群是优化服务性能的关键步骤,尤其是对于那些处理大量数据和高并发请求的Web应用程序。本文将详细介绍如何在Linux上构建一个基于淘宝月光宝盒(Taobao MoonBox)架构的Memcached集群。 ...
在Linux系统上安装和配置memcached,并通过Java客户端进行调用是常见的操作流程,下面将详细介绍这一过程。 ### 一、memcached的Linux安装 1. **更新系统**: 首先确保你的Linux系统已经更新到最新版本,运行`sudo ...
本文将详细介绍如何在Linux(以CentOS 5.x为例)环境下安装和配置Memcached,并确保其默认启动。 首先,为了安装Memcached,我们需要确保系统已经装有GCC编译器。如果没有,可以通过`yum install gcc`进行安装。...
本文档主要讲解了在 Linux(Cent OS7.2) 环境下安装、启动和停止 Memcached 服务的方法,并对 ps 命令的使用进行了详细讲解。 一、Memcached 服务安装 在 Linux(Cent OS7.2) 环境下,可以使用 yum 源安装 Memcached...
本文将详细介绍如何在Linux环境下启动和停止Memcached服务。 首先,确保你的系统已经安装了Memcached。如果没有,可以通过包管理器进行安装。对于基于Debian的系统(如Ubuntu),可以使用`apt-get`命令: ```bash ...
## Memcached在Linux上的安装 ### 安装步骤 1. **更新包索引**:首先,确保你的Linux系统中的包管理系统是最新的,通常使用`apt-get`(Ubuntu/Debian)或`yum`(CentOS/RHEL)命令。 - 对于`apt-get`: ``` ...