Memcached入门到精通张振华Jack.pdf

上传人:b****1 文档编号:3209683 上传时间:2022-11-20 格式:PDF 页数:75 大小:5.83MB
下载 相关 举报
Memcached入门到精通张振华Jack.pdf_第1页
第1页 / 共75页
Memcached入门到精通张振华Jack.pdf_第2页
第2页 / 共75页
Memcached入门到精通张振华Jack.pdf_第3页
第3页 / 共75页
Memcached入门到精通张振华Jack.pdf_第4页
第4页 / 共75页
Memcached入门到精通张振华Jack.pdf_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

Memcached入门到精通张振华Jack.pdf

《Memcached入门到精通张振华Jack.pdf》由会员分享,可在线阅读,更多相关《Memcached入门到精通张振华Jack.pdf(75页珍藏版)》请在冰豆网上搜索。

Memcached入门到精通张振华Jack.pdf

张振华张振华.Jack.JackQQ:

494460705QQ:

494460705Mail:

Mail:

20152015年年77月月1010年年JavaJava开发,开发,33年年AppApp开发开发1自我介绍自我介绍Memcached入门到精通I.I.MemcachedMemcached介绍、应用场景、运行机制介绍、应用场景、运行机制II.II.MemcachedMemcached安装安装III.III.MemcachedMemcached启动,参数启动,参数IV.IV.MemcachedMemcached连接、监控连接、监控V.V.MemcachedMemcached客户端命令客户端命令VI.VI.MemcachedMemcached的的JavaJava客户端实例客户端实例VII.VII.MemcachedMemcached的客户端分布式原理的客户端分布式原理VIII.VIII.MemcachedMemcached的服务器端运行原理的服务器端运行原理IX.IX.MemcachedMemcached的过期机制的过期机制X.X.MemcachedMemcached同比同比XI.XI.QAQA2目录目录张振华.Jack介绍介绍MemcachedMemcached是国外社区网站是国外社区网站LiveJournalLiveJournal的开发团队开的开发团队开发的高性能的分布式内存缓存服务器。

一般的使用目的是发的高性能的分布式内存缓存服务器。

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

应用的速度、提高可扩展性。

memcachememcache是一个自由和开放源代码、高性能、分布式的是一个自由和开放源代码、高性能、分布式的内存对象缓存系统。

用于加速动态内存对象缓存系统。

用于加速动态webweb应用程序,减轻数应用程序,减轻数据库负载。

据库负载。

MemcachedMemcached运行图运行图MemcachedMemcached运行图运行图MeacachedMeacached特征特征I.I.MemcachedMemcached特征特征1.1.基于基于C/SC/S架构,协议简单架构,协议简单;2.2.基于基于libeventlibevent的事件处理的事件处理;3.3.内置内存存储方式内置内存存储方式;4.4.基于客户端的基于客户端的memcachedmemcached分布式。

分布式。

II.II.适用场景适用场景1.1.需要分布式部署的;需要分布式部署的;2.2.需要频繁访问相同数据的;需要频繁访问相同数据的;3.3.需要数据共享的。

需要数据共享的。

介绍介绍C/SC/S架构架构I.I.基于基于C/SC/S架构,协议简单架构,协议简单1.1.服务端启动服务端启动memcachedmemcached进程;进程;2.2.客户端可以通过客户端可以通过telnettelnet操作,也可以通过各种编程语言实现的客户端程序存取数据操作,也可以通过各种编程语言实现的客户端程序存取数据及查询状态;及查询状态;3.3.memcachedmemcached的服务器与客户端通信并不使用复杂的的服务器与客户端通信并不使用复杂的XMLXML等格式,而使用简单的等格式,而使用简单的基于文本行的协议基于文本行的协议II.II.基于基于libeventlibevent的事件处理的事件处理1.1.libeventlibevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:

是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:

Windows/Linux/BSD/SolarisWindows/Linux/BSD/Solaris等操作系统的的事件处理;等操作系统的的事件处理;2.2.包装的接口包括:

包装的接口包括:

pollpoll、select(Windows)select(Windows)、epollepoll(Linux)(Linux)、kqueuekqueue(BSD)(BSD)、/dev/pool(Solaris)/dev/pool(Solaris);3.3.MemcachedMemcached使用使用libeventlibevent来进行网络并发连接的处理,能够保持在很大并发情来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。

况下,仍旧能够保持快速的响应能力。

张振华.Jack7安装安装张振华.Jack8安装安装到http:

/www.monkey.org/provos/libevent/下载一个最新版的libevent即可,解压,安装即可。

张振华.Jack9MEMCACHEDMEMCACHED启动启动这算启动成功张振华.Jack10MEMCACHEDMEMCACHED启动成功启动成功张振华.Jack11MEMCACHEDMEMCACHED启动启动启动方式:

启动方式:

-dd以守护程序(以守护程序(daemondaemon)方式运行)方式运行-urooturoot指定用户,如果当前为指定用户,如果当前为rootroot,需要使用此参数指定用户,需要使用此参数指定用户-P/P/tmptmp/a.pida.pid保存保存PIDPID到指定文件到指定文件内存设置:

内存设置:

-m1024m1024数据内存数量,不包含数据内存数量,不包含memcachedmemcached本身占用,单位为本身占用,单位为MBMB-MM内存不够时禁止内存不够时禁止LRULRU,报错,报错-n48n48初始初始chunk=key+suffix+value+32chunk=key+suffix+value+32结构体,默认结构体,默认4848字节字节-f1.25f1.25增长因子,默认增长因子,默认1.251.25-LL启用大内存页,可以降低内存浪费,改进性能启用大内存页,可以降低内存浪费,改进性能连接设置:

连接设置:

-l127.0.0.1l127.0.0.1监听的监听的IPIP地址,本机可以不设置此参数地址,本机可以不设置此参数-p11211p11211TCPTCP端口,默认为端口,默认为1121111211,可以不设置,可以不设置-U11211U11211UDPUDP端口,默认为端口,默认为1121111211,00为关闭为关闭并发设置:

并发设置:

-c1024c1024最大并发连接数,默认最大并发连接数,默认10241024,最好是,最好是200200-t4t4线程数,默认线程数,默认44。

由于。

由于memcachedmemcached采用采用NIONIO,所以更多线程没有太多作用,所以更多线程没有太多作用-R20R20每个每个eventevent连接最大并发数,默认连接最大并发数,默认2020-CC禁用禁用CASCAS命令(可以禁止版本计数,减少开销)命令(可以禁止版本计数,减少开销)张振华.Jack12客户端连接客户端连接张振华.Jack13客户端常用的命令客户端常用的命令张振华.Jack14客户端常用的命令客户端常用的命令张振华.Jack15客户端常用的命令客户端常用的命令张振华.Jack16客户端常用的命令客户端常用的命令memcachedmemcached调试调试-vv+输出输出error/warningerror/warning-vvvv+输出命令输出命令/响应响应-vvvvvv+输出内部状态输出内部状态10_10_82_80#memcached-d-uroot-m1024-p11210-vvv10_10_82_80#memcached-d-uroot-m1024-p11211vvvslabclass1:

chunksize96perslab10922slabclass2:

chunksize120perslab8738.slabclass42:

chunksize1048576perslab136serverlistening(auto-negotiate)37sendbufferwas126976,now26843545637serverlistening(udp)37serverlistening(udp)37serverlistening(udp)37serverlistening(udp)38newauto-negotiatingclientconnection38:

Clientusingtheasciiprotocol38stats38END38quit38connectionclosed.telnetlocalhost11210/11211statsgetabcquitmemcachedmemcached命令列表命令列表存储命令存储命令set/add/replace/append/prepend/casset/add/replace/append/prepend/cas读取命令读取命令getget=bget?

=bget?

/gets/gets删除命令删除命令deletedelete计数命令计数命令incr/decrincr/decr统计命令统计命令stats/settings/items/sizes/slabsstats/settings/items/sizes/slabs工具工具memcachedmemcached-tooltool存储命令存储命令commandset无论如何都进行存储add只有数据不存在时进行添加repalce只有数据存在时进行替换append往后追加:

appenddatablock?

prepend往前追加:

prependdatablockcas按版本号更改key字符串,250个字符,不包含空格和控制字符flags客户端用来标识数据格式的数值,如json,xml,压缩等exptime存活时间s,0为永远,30天为unixtimebytesbyte字节数,不包含rn,根据长度截取存/取的字符串,可以是0,即存空串datablock文本行,以rn结尾,当然可以包含r或nstatusSTORED/NOT_STORED/EXISTS/NOT_FOUNDERROR/CLIENT_ERROR/SERVER_ERROR服务端会关闭连接以修复格式:

rnrnrn存储命令存储命令set/add/replaceset/add/replacesetliu3204javaSTORED/正确getliuVALUEabc324javaENDsetliu3204cplusCLIENT_ERRORbaddatachunkERROR/长度错误setliu3204javaSTOREDaddliu3205cplusNOT_STORED/已存在不能addgetliuVALUEabc324javaENDaddsong3205cplusSTORED/不存在可以addsetliu3204javaSTOREDreplaceliu3205cplusSTORED/已存在可以replacegetliuVALUEcplus325liuENDreplaceyang3205cplusNOT_STORED/不存在不能replacedatablock长度必须正确add只能添加不存在的keyreplace只能替换已有的key读取命令读取命令get/getsget/getsgetliusongyangVALUEliu324javaVALUEsong325cplusEND/查询多个键值getsliuVALUEliu32412javaEND/取得版本号replaceliu3204javaSTORED/增

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1