memcached使用及运维.ppt
《memcached使用及运维.ppt》由会员分享,可在线阅读,更多相关《memcached使用及运维.ppt(44页珍藏版)》请在三一办公上搜索。
1、,Memcached使用及运维,By 薛长俊2013-8,介绍,安装和使用,周边,Memcached,应用示例,介绍,介绍Memcached是国外社区网站 LiveJournal 的开发团队开发的高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。memcache是一个自由和开放源代码、高性能、分布式的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。,介绍,Memcached运行图,介绍,Memcached特征基于C/S架构,协议简单;基于libevent的事件处理;内置内存存储方式;基于客户端的m
2、emcached分布式。适用场景需要分布式部署的;需要频繁访问相同数据的;需要数据共享的。,介绍,基于C/S架构,协议简单 服务端启动memcached进程;客户端可以通过telnet操作,也可以通过各种编程语言实现的客户端程序存取数据及查询状态;memcached的服务器与客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。基于libevent的事件处理 libevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:Windows/Linux/BSD/Solaris 等操作系统的的事件处理;包装的接口包括:poll、select(Windows)、epoll(L
3、inux)、kqueue(BSD)、/dev/pool(Solaris);Memcached 使用libevent来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。,介绍,数据存储方式:Slab AllocationSlab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。Slab Allocation的原理相当简单。将分配的内存分割成各种尺寸的块(chunk),并把尺寸相同的块分成组(chunk的集合)Slab Alloction 构造图,介绍,数据存储方式:Slab AllocationPage:分配给
4、Slab的内存空间,默认是1MB。分配给Slab之后根据slab的大小切分成chunk。Chunk:用于缓存记录的内存空间。Slab Class:特定大小的chunk的组。memcached根据收到的数据的大小,选择最适合数据大小的slab。memcached中保存着slab内空闲chunk的列表,根据该列表选择chunk,然后将数据缓存于其中。Slab Alloction 分配图,介绍,数据存储方式:Slab AllocationSlab Alloction 缺点:由于分配的是特定长度的内存,因此无法有效利用分配的内存。例如,将100字节的数据缓存到128字节的chunk中,剩余的28字节就
5、浪费了。,介绍,数据过期方式-Lazy Expirationmemcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。数据过期方式-LRUmemcached会优先使用已超时的记录的空间,但即使如此,也会发生追加新记录时空间不足的情况,此时就要使用名为 Least Recently Used(LRU)机制来分配空间。顾名思义,这是删除“最近最少使用”的记录的机制。因此,当memcached的内存空间不足时(无法从slab class 获取到新的空间时),
6、就从最近未被使用的记录中搜索,并将其空间分配给新的记录。从缓存的实用角度来看,该模型十分理想。,介绍,基于客户端的分布式选择服务器节点常见算法:1.余数式hash算法2.一致性hash算法,安装和使用,安装部署cd/root/installyum-y install libevent libevent-develfind./-type f-name*.tar.gz-exec tar-zxf;make cleanmakemake install,启动参数-p 监听的TCP端口(默认:11211)-U 监听的UDP端口(默认:11211,0表示不监听)-s 用于监听的UNIX套接字路径(禁用网络支
7、持)-a UNIX套接字访问掩码,八进制数字(默认:0700)-l 监听的IP地址。(默认:INADDR_ANY,所有地址)-d作为守护进程来运行。-r最大核心文件限制。-u 设定进程所属用户。(只有root用户可以使用这个参数)-m 单个数据项的最大可用内存,以MB为单位。(默认:64MB)-M内存用光时报错。(不会删除数据)-c 最大并发连接数。(默认:1024)-k锁定所有内存页。注意你可以锁定的内存上限。试图分配更多内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。-v提示信息(在事件循环中打印错误/警告信息。)-vv详细信息(还打印客户端命令/响应),安装和使用,启动参
8、数-vvv超详细信息(还打印内部状态的变化)-h打印这个帮助信息并退出。-I打印memcached和libevent的许可。-P 保存进程ID到指定文件,只有在使用-d 选项的时候才有意义。-f 块大小增长因子。(默认:1.25)-n 分配给key+value+flags的最小空间(默认:48)-L尝试使用大内存页(如果可用的话)。-D 使用 作为前缀和ID的分隔符。-t 使用的线程数(默认:4)-R每个连接可处理的最大请求数。-C禁用CAS。-b 设置后台日志队列的长度(默认:1024)-B绑定协议-可能值:ascii,binary,auto(默认)-I 重写每个数据页尺寸。调整数据项最大尺
9、寸。,安装和使用,监测脚本示例#!/bin/shpid=/bin/ps-ef|grep memcached-d|grep 8086|grep-v grep|awk print$2 if-n“$pid”;thenecho$pidelse/opt/soft/memcached/bin/memcached-d-m 2048-c 2048-l 127.0.0.1-p 8086-u rootfi添加至cron*/opt/scripts/checkMemcached.sh,安装和使用,命令列表存储命令set/add/replace/append/prepend/cas读取命令get/gets删除命令del
10、ete计数命令incr/decr统计命令stats/settings/items/sizes/slabs工具memcached-tool,安装和使用,格式command,安装和使用,存储命令set/add/replace,安装和使用,set lu 32 0 7zichengSTORED/正确get luVALUE lu 32 7zichengENDset lai 32 0 6laijiCLIENT_ERROR bad data chunkERROR/长度错误,set lu 32 0 7zichengSTOREDadd lu 32 0 7zichengNOT_STORED/已存在不能addadd
11、 lai 32 0 5laijiSTORED/不存在可以add,set lu 32 0 7zichengSTOREDreplace lu 32 0 9luzichengSTORED/已存在可以replacereplace jige 32 0 5laijiNOT_STORED/不存在不能replace,datablock长度必须正确,add只能添加不存在的key,replace只能替换已有的key,读取命令get/gets,安装和使用,set lu 32 0 7zichengSTOREDset lai 32 0 5laijiSTOREDget lu laiVALUE lu 32 7zicheng
12、VALUE lai 32 5laijiEND,get普通查询,gets用于查询带版本的值,多个key用空格分开,set lu 32 0 7zichengSTOREDset lai 32 0 5laijiSTOREDgets lu laiVALUE lu 32 7 3zichengVALUE lai 32 5 4laijiEND,检查存储命令cas,安装和使用,gets lu VALUE lu 32 7 3zichengENDcas lu 32 0 7 3zichengSTORED/版本号相同才修改gets luVALUE lu 32 7 5zichengEND,cas即check and se
13、t,只有版本号相匹配时才能存储,否则返回EXISTS设计意图:解决多客户端并发修改同一条记录的问题,防止使用经过改变了的value/key对,计数命令incr/decr,安装和使用,set count 32 0 11STOREDincr count 100101decr count 2378,delete count DELETEDincr count 1NOT_FOUND,set lu 32 0 7zichengSTOREDincr lu 100CLIENT_ERROR cannot increment or decrement non-numeric value,实现计数器,key不存在不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- memcached 使用
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6512414.html