memcached 注册服务器,Memcached深入剖析(一)—Memcached服务器安装
Memcached是一个高性能的分布式内存缓存服务器。 一般的使用目的是:通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。
许多Web应用都将数据保存到DB中,应用服务器从DB中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现DB的负担加重、数据库响应恶化、 网站显示延迟等重大影响。这时就该memcached大显身手了。
Memcached的特征
Memcached作为高速运行的分布式缓存服务器,具有以下的特点:
协议简单
基于libevent的事件处理
内置内存存储方式
memcached不互相通信的分布式
下面就Memcached的每个特征进行解释。
1.协议简单
Memcached服务器和客户端之间的通信并不使用复杂的XML等格式, 而使用简单的基于文本行的协议。因此,通过telnet 也能在Memcached上保存数据、取得数据。
Shell
1
2
3
4
5
6
7
8
9
10
$telnetlocalhost11211
Trying127.0.0.1...
Connectedtolocalhost.localdomain(127.0.0.1).
Escapecharacteris'^]'.
setfoo003(保存命令)
bar(数据)
STORED(结果)
getfoo(取得命令)
VALUEfoo03(数据)
bar(数据)
2. 基于libevent的事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能 封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。 关于事件处理这里就不再详细介绍,可以参考Dan Kegel的The C10K Problem。
3.内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。 由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。 另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。 memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。 关于内存存储的详细信息,本连载的第二讲以后前坂会进行介绍,请届时参考。
4.memcached不互相通信的分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。 各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢? 这完全取决于客户端的实现。本连载也将介绍memcached的分布式。
Memcached安装方法
安装Memcached比较简单,并且Memcached支持很多平台,Linux,FreeBSD,Solaris,Mac OS X甚至也能安装在Windows上。这里以Ubuntu为例:
首先需要先安装libevent,此时最新版本为:libevent-2.0.22-stable.tar.gz 下载地址:http://libevent.org/
下载并解压到 /opt/soft/libevent-2.0.22-stable 里,运行命令安装:
Shell
1
2
3
4
5
6
7
cd/opt/soft/libevent-2.0.22-stable
./configure–prefix=/usr
make
sudomakeinstall
下载Memcached包,下载地址:http://memcached.org/,并解压至 /opt/soft/memcached-1.4.22,运行命令安装:
Shell
1
2
3
4
5
6
7
cd/opt/soft/memcached-1.4.22/
./configure
make
sudomakeinstall
默认情况下memcached安装到/usr/local/bin下。
Memcached启动
在终端里输入命令,启动Memcached服务:
启动Memcached命令
Shell
1
/usr/local/bin/memcached-p11211-m64m-vv
然后出现,下面如图所示调试信息:
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
slabclass1:chunksize96perslab10922
slabclass2:chunksize120perslab8738
slabclass3:chunksize152perslab6898
slabclass4:chunksize192perslab5461
slabclass5:chunksize240perslab4369
slabclass6:chunksize304perslab3449
slabclass7:chunksize384perslab2730
slabclass8:chunksize480perslab2184
slabclass9:chunksize600perslab1747
slabclass10:chunksize752perslab1394
slabclass11:chunksize944perslab1110
slabclass12:chunksize1184perslab885
slabclass13:chunksize1480perslab708
slabclass14:chunksize1856perslab564
slabclass15:chunksize2320perslab451
slabclass16:chunksize2904perslab361
slabclass17:chunksize3632perslab288
slabclass18:chunksize4544perslab230
slabclass19:chunksize5680perslab184
slabclass20:chunksize7104perslab147
slabclass21:chunksize8880perslab118
slabclass22:chunksize11104perslab94
slabclass23:chunksize13880perslab75
slabclass24:chunksize17352perslab60
slabclass25:chunksize21696perslab48
slabclass26:chunksize27120perslab38
slabclass27:chunksize33904perslab30
slabclass28:chunksize42384perslab24
slabclass29:chunksize52984perslab19
slabclass30:chunksize66232perslab15
slabclass31:chunksize82792perslab12
slabclass32:chunksize103496perslab10
slabclass33:chunksize129376perslab8
slabclass34:chunksize161720perslab6
slabclass35:chunksize202152perslab5
slabclass36:chunksize252696perslab4
slabclass37:chunksize315872perslab3
slabclass38:chunksize394840perslab2
slabclass39:chunksize493552perslab2
slabclass40:chunksize616944perslab1
slabclass41:chunksize771184perslab1
slabclass42:chunksize1048576perslab1
<26serverlistening(auto-negotiate)
<27serverlistening(auto-negotiate)
<28sendbufferwas212992,now268435456
<32sendbufferwas212992,now268435456
<30serverlistening(udp)
<29serverlistening(udp)
<34serverlistening(udp)
<28serverlistening(udp)
<33serverlistening(udp)
<31serverlistening(udp)
<32serverlistening(udp)
<35serverlistening(udp)
这样就在前台启动了memcached,监听TCP端口11211 最大内存使用量为64M。调试信息的内容大部分是关于存储的信息。而作为daemon后台启动时,命令时这样的:
Shell
1
/usr/local/bin/memcached-p11211-m64m-d
这里使用的memcached启动选项的内容如下:
选项
说明
-p
使用的TCP端口。默认为11211
-m
最大内存大小。默认为64M
-vv
用very vrebose模式启动,调试信息和错误输出到控制台
-d
作为daemon在后台启动
上面四个是常用的启动选项,其他还有很多,通过下面一段命令:
Shell
1
/usr/local/bin/memcached-h
就可以显示全部命令,许多选项可以改变memcached的各种行为, 推荐仔细阅读一下。
至此,服务器端Memcache算是安装成功了。当然作为高并发Memcached缓存服务器来说,需要仔细推敲下启动参数,以达到最优化。
memcached 注册服务器,Memcached深入剖析(一)—Memcached服务器安装相关推荐
- 艾伟:memcached全面剖析–3.memcached的删除机制和发展方向
本系列文章导航 memcached完全剖析–1. memcached的基础 memcached全面剖析–2.理解memcached的内存存储 memcached全面剖析–3.memcached的删除机 ...
- memcached全面剖析--3.memcached的删除机制和发展方向
下面是<memcached全面剖析>的第三部分. 发表日:2008/7/16 作者:前坂徹(Toru Maesaka) 原文链接:http://gihyo.jp/dev/feature/0 ...
- memcached全面剖析 –3.memcached的删除机制和发展方向
來源:http://tech.idv2.com/2008/07/16/memcached-003/ 作者:charlee 版权声明 :可以任意转载,但转载时必须标明原作者charlee.原始链接htt ...
- memcached 缓存服务器
Memcached 缓存服务器 Memcached 是高性能的分布式内存缓存服务器. 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性. 主要特点 ...
- memcached全面剖析–4. memcached的分布式算法
本次不再介绍memcached的内部结构, 开始介绍memcached的分布式. memcached的分布式 正如第1次中介绍的那样, memcached虽然称为"分布式"缓存服务 ...
- memcached全面剖析–3.memcached的删除机制和发展方向
memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提. 本次介绍memcached的数据删除机制,以及memcached的最新发展方向--二进制协议(Bi ...
- memcached完全剖析–1. memcached的基础
2019独角兽企业重金招聘Python工程师标准>>> 本文转自:http://blog.charlee.li/memcached-001/ memcached是什么? memcac ...
- php memcached 扩展下载,编译安装 PHP 的 Memcached 扩展
image.png 前面章节我会先简要说明一下安装过程, 后面章节我会记录在安装期间踩过的坑. Linux 下编译软件的步骤参见Linux 编译软件的步骤 服务器环境 CentOS 7 PHP 7.0 ...
- memcached java 客户端优化,分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用...
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
最新文章
- 虚拟机系统的磁盘扩容妙招及案例
- Foursquare开源Rogue和Full-Loaded两款开发工具
- mysql timestampt 输入字符串的格式不正确._mysql中取出的时间格式不正确
- C++实现有向图最短路径-Dijkstra单源最短路径算法
- 合成小丹(dp+二进制按位或+结论)
- 前台传String日期格式后台用Date类型接收
- 用鼠标在窗口中画方形的程序------基于OpenCV+VS
- 如何删除选择框的所有选项,然后添加一个选项并使用jQuery选择它?
- mysql 小数转换成百分数查出(保留两位小数百分数)
- 树组件:主要配置项、属性、方法
- [转]Java集合类: Set、List、Map、Queue使用场景梳理
- 如何用PADS打开AD的PCB文件?
- 计算机考试电子档照片,电子版照片是啥意思???
- [轻音乐] - 理查德·克莱德曼专辑[8CD]
- 学术英语理工(第二版)Unit3课文翻译
- 解决macOS无法在线升级更新的问题
- 题解 SP2916 【GSS5 - Can you answer these queries V】
- RK3328安装liunx(ubuntu16.04)RK固件
- 屏幕录制软件推荐,分享这3款,简单好用
- 企业非法集资风险预测
热门文章
- 远程服务器套娃,无限套娃!RemoteView云上浏览器:运行在浏览器里的远程浏览器...
- 使用sh执行bash脚本的奇怪问题
- UE4 物理系统实现
- addons软件下载_addons手机正版下载|
- 简易封装 element form表单
- 带你走近微软最“动听”的程序媛 | 女神节特辑
- eclipse中的buidpath配置(工程不build)
- 网站SEO优化做好能抵几个销售?看看杭州石炭纪怎么用网站来干了销售的活!
- python计算ks
- 初始化磁盘选哪个格式 初始化磁盘分区形式选什么好