memcached文档.docx_第1页
memcached文档.docx_第2页
memcached文档.docx_第3页
memcached文档.docx_第4页
memcached文档.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Memcached入门学习文档小兵突击/xiaobingtuji/序:什么是memcached:Free & open source, high-performance, distributed memory object caching system自由、开源、高性能、分布式的内存对象缓存系统。由livejounal旗下的danga公司开发的老牌的nosql应用nosql:not only sql,即不仅仅是关系型数据库。特点:key-value键值对存储,如memcached、redis或基于文档存储:如mongoldb一、 使用前的准备(关于telnet)Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少现场操作的麻烦。因为设备或终端是遍布整个省或市,有的甚至是国外,如何高效的处理问题是当务之急。除了telnet还可以ssh使用crt软件登陆,telnet开启的话比较方便windows自带的cmd命令行下就可以运行。telnet命令格式(cmd窗口下):telnet localhost(ip地址) 端口号,如:telnet 09 11211 Win7系统中使用想使用telnet命令时往往会出现如下错误:【telnet不是内部或外部命令,也不是可运行的程序或批处理文件】。解决方法: 首先打开控制面板,找到程序和功能,然后点击左侧的打开或关闭Windows功能 打开或关闭Windows功能 等待一会就OK啦二、Linux下安装memcached1、安装编译工具gcc make libtool autoconfig 的命令:yum install gcc make libtool autoconfig2、安装memcached的依赖库命令:wget /provos/libevent-2.0.12-stable.tar.gz -no-check-certificate3、wget /files/memcached-1.4.29.tar.gz(memcached源文件)4、先装依赖库。假设源码在usr/local/src/下,需要安装到usr/local下:解压:tar zxvf libevent-2.0.12-stable.tar.gz得到libevent-2.0.12-stable进入解压包位置:#cd libevent-2.0.12-stable指定安装位置(相关文件检查)# ./configure -prefix=/usr/local/libevent编译安装:# make & make install5、memcached 的安装解压:tar zxvf memcached-1.4.29.tar.gz得到memcached-1.4.29进入解压包位置:#cd memcached-1.4.29指定安装位置并指定依赖的libevent位置(相关文件检查):命令:# ./configure -prefix=/usr/local/memcached -with-libvent=prefix=/usr/local/libevent/编译安装:# make & make install注意:虚拟机下练习编译时容易遇到的一个问题:虚拟机的时间不对, 导致gcc编译过程中,检测时间通不过,一直处于编译过程。解决方法:#date 查看虚拟机当前时间(看是否与真实时间一致,不一致则:) #date s yyyy-MM-dd hh:mm:ss(真实时间)#clock w (把时间写入虚拟机的cmos)6、linux系统下启动memcached(先到安装路径)# ./bin/memcached -m 64 -p 11211 -u nobody vvv其中:-m 64用于指定内存大小为64MB-p 11211用于指定运行的端口号-u nobody用于指定运行的非root用户-vvv用于输出信息注意-u nobody是指定非root用户的任何用户,linux的安全考虑,必须加的。 但上述启动方式存在一个问题,就是linux系统的memcached必须一直连着,不能断开,解决:# ./bin/memcached -m 64 -p 11211 -u nobody d其中-d 指定memcached以后台进程的方式来运行三、 连接memcached及一些操作memcached客户端和服务器端的通信比较简单,使用的是基于文本的协议,而不是二进制协议(http协议也是如此),因此我们通过telnet即可与之对话。上述步骤完成后,执行以下操作:1、 Windows+R打开黑窗口,2、 运行命令:telnet 192.168.XXX.XXX(虚拟机地址) 112113、 Ctrl + 】回车,打开回显,至此就可以做测试了四、 一些操作及memcached命令详解1、 在步骤三的基础上,stats+回车,即可查看memcached的运行状态2、 关于memcached的命令(增删该查4类) 增:add 往内存增加一条新纪录语法:add key flag expire length;如add name 0 0 8,输入zhangsankey:给值区一个独特的名字flag:标志,要求为一个整数,当需要存储数组、对象等时,flag的意义就显示出来了。其意义自定:如0:字符串;1:数组等等expire:有效期,三种设置方式:、0标识不自动失效,默认最长30天(服务器一直启动而不发生被挤现象);、设置秒数,从设置开始,第n秒后失效;、设置时间戳,到指定时间戳失效length:缓存的长度(字节为单位) 删:delete key time其中time参数可选,是指使key失效并在time秒内不允许用此key 改:replace key flag expire length和add命令的参数一致 查:get key Set命令:和add命令参数一致,add、replace、set三者的比较:add只能针对内存中没有的key进行存储,若已经存在则增加不会成功。replace:也只针对已经存在的key进行 修改,若被修改的键不存在,则修改失败。set:兼具add和replace两者的功能,不存相应key,创建之,存在,修改之,很好理解。 incr和decr命令,把值理解为32位无符号数来进行加减操作,最小为0。如:incr age 1 把age的值加1;decr age 3 把age的值减3;常见的应用为:电商项目的秒杀功能。一个人下单,要涉及数据库的读取、写入订单、更改库存及事物要求,对于传统电商来说,压力是非常大的。这时候可以利用memcached的incr或decr来进行操作。如设置秒杀数为100,每抢一单,执行一次decr count 1,并把结果和0比较,对于大于0的结果发送一个订单号,对于不大于0的count则不允许其进行秒杀。之后拿到订单号的用户到指定页面缓慢填写详细订单信息,从而很大程度上缓解了数据库抢单压力。 stats统计命令:用于显示memcached的运行信息。缓存的一个重要概念

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论