摘要:最近在看《大型分布式网站架构设计与实践》这本书,把其中的学习过程记录一下,以便日后复习。

一: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,Linux下安装Memcached,centos下安装memcached,linux下安装memcached...相关推荐

  1. Linux下安装mysql(2) 及常见问题解决(CentOS)

    Linux下安装mysql(2) 及常见问题解决(CentOS) 参考文章: (1)Linux下安装mysql(2) 及常见问题解决(CentOS) (2)https://www.cnblogs.co ...

  2. linux yum php环境,centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装apache+mysql+php是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本yum源安装: 1.yum install wget             ...

  3. linux无法安装at命令,在Ubuntu/Debian/CentOS/Fedora下安装At及各种At命令的用法

    本文介绍在Linux系统下安装At的方法,可安装在Ubuntu/Debian/CentOS/Fedora发行版下,及各种At命令的用法.at是一个命令行实用程序,可让您安排在特定时间执行的命令,使用a ...

  4. linux 安装rpm qt can't creat,centos 下 Qt Creator 的安装使用

    centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...

  5. linux 卸载yum源,CentOS下rpm包与yum安装与卸载更新系统源

    CentOS下rpm包与yum安装与卸载 一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --forc ...

  6. linux w3m 使用方法,CentOS下安装w3m,及w3m的使用

    centos下安装软件的命令不是apt-get,而是yum,如果安装w3m,利用sudo yum install w3m w3m-img -y即可 △△△△△△△△如果你用的是centos或readh ...

  7. 【数据分析R语言系列】R和RStudio的下载和安装, R在 Ubuntu 和CentOS 系统下的安装

    文章目录 准备工作 R 的下载和安装 RStudio 的下载和安装 配置(可选) 常见问题与方案 R 在 Linux 系统下的安装 Ubuntu 从源安装 R CentOS 从源安装 R Rtools ...

  8. centos7 docker安装_教你如何在 CentOS 7 下 yum 方式安装 Docker 环境

    记录在CentOS 7下使用yum方式安装Docker环境的步骤. 1.移除旧版本: yum remove docker \                  docker-client \      ...

  9. Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇

    Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇 由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果 ...

  10. linux下安装虚拟天文馆,如何在Ubuntu 20.04、18.04中安装Stellarium 0.20.0虚拟天文馆

    如何在Ubuntu 20.04.18.04中安装Stellarium 0.20.0虚拟天文馆 几天前发布了Stellarium 0.20.0,它时一个免费开源的桌面虚拟天文馆软件.以下是在Ubuntu ...

最新文章

  1. 程序员接活利器,dataTable组件带你快速开发,摆脱CRUD
  2. 皮一皮:这小伙子怎么能掌握这么多高深技术!!!
  3. R与量化(part1)--量化概述
  4. php查询类似abab,ABAB中的正则表达式匹配编号(必须相同) - php
  5. 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
  6. 图像处理之三---摄像头灰度值处理
  7. MySQL配置root远程连接mysql授权远程
  8. matlab有限元分析教程,Matlab做有限元分析
  9. 如何安装biopython_Biopython - 安装
  10. 如何建设研发部门体系,理清责任和关系
  11. 彩虹易支付程序源码php,彩虹易支付聚合支付源码全解全网程序附对接接口教程...
  12. linux三星电脑开机怎么进入页面,三星Samsung笔记本怎么开机进入BIOS
  13. 企业授权:SOA被低估的经济价值
  14. LINGO Error Code 122 和 237 出现原因及其解决方法
  15. python绘图篮球_用Python把NBA球员投篮数据可视化
  16. 小程序实现实名、支付及签约
  17. select2如何清除选择项
  18. 医疗机械公司网站网页
  19. pytorch中的Variable还有必要使用吗?
  20. 关于使用华为云搭建Hadoop集群,在关闭ResourceManager时出现WARNING: nodemanager did not stop gracefully after 5 seconds

热门文章

  1. esmini LongSpeedAction修改
  2. SliceProceduralMesh的使用
  3. linux 中 timeval结构体
  4. pthread_cond_wait的spurious wakeup问题
  5. windowsCE异常和中断服务程序初探(=)
  6. MySQL笔记——打开日志
  7. linux查看启动配置文件内容,Linux开机启动项的查看和设置方法总结
  8. 【转】1.2异步编程:使用线程池管理线程
  9. 【转】!Dynamics 365 Online通过OAuth 2 Client Credential授权(Server-to-Server Authentication)后调用Web API
  10. 一步步编写操作系统 14 CPU与外设通信——IO接口 上