第三个月后期项目3大型网站优化_第1页
第三个月后期项目3大型网站优化_第2页
第三个月后期项目3大型网站优化_第3页
第三个月后期项目3大型网站优化_第4页
第三个月后期项目3大型网站优化_第5页
已阅读5页,还剩6页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、Memcached 缓存技术:Memcached:就是一个高性能的分布式内存缓存系统 , 可以理解成在内存初步理解中是一个巨大的 hash 表,形式key键值据库连接.)value数据字符串,整数,小数,,数组,对象,Null ,二进制数据,不能存放资源(数memcached 工作原理图:memcached 介绍memcached 是 danga 开发,目前可以在主要的作用就是提速.使用 , jsp. .net, 他最安装 memcached 服务在 windows 上安装步骤, 解压,并拷贝到 myenv 文件夹.安装:如果你安装了,则先卸载: cmdmemcached.exe d unin

2、stall安装指令cmdmemcached.exe d install 启动 memcached 服务cmdmemcached d start如何验证是否成功!cmdnetsan看 11211 端口是否如果你希望指定某个端口cmdmemcached d p 端startcmdmemcached d stop restart|start1.2.3.如果安装过程出问题你的安装文件 memcached.exe 所在的目录,中不要有中文目录如果是 win7,win8, 对安全性要求高,所以要使用 adminisor 来安装启动如果在启动过程中出现 提示缺少 xx.dll 文件提示,请从别人系统中拷贝该

3、文件,并拷贝到 system324.如果还,只能最后一招,不安装直接启动 cmdmemcached.exe p端在 Linux 下安装 memcached 服务一般是以源码方式安装, 我以 RHEL5.4安装安装libevent-1.3.tar.gz在 linux 处理多并发一个memcached-1.2.6.tar.gz 上传到 RHEL5.4 安装先安装 libevent-1.3.tar.gz库tar zxvf libevent-1.3.tar.gz cd libevent-1.3./configure - -prefix=/usrmake & make install测试是否安装上 li

4、bevent然后安装 memcached 服务tar zxvf memcached-1.2.6.tar.gz cd memcached-1.2.6./configure - -with-libevent=/usrmake & make install启动 memcache 服务器/usr/local/bemcached -d-m 10 -u root -l 11 -p 12000-c 256 -P/tmp/memcached.-d 选项是启动一个守护进程,-m 是分配给Memcache 使用的内存数量,-u 是运行Memcache 的用户,我这里是root,是MB,我

5、这里是 10MB,-l 是的服务器IP 地址,如果有多个地址的话,我这里指定了服务器的IP 地址00,-p 是设置Memcache的端口,我这里设置了 12000,最好是 1024 以上的端口,-c 选项是最大运行的并发连接数,默认是 1024,我这里设置了 256,按照你服务器的负载量来设定,-P 是设置保存Memcache 的文件,我这里是保存在 /tmp/memcached.,如何停止 memcahed 服务 kill cat /tmp/memcached.可以考虑killall memcached常用的基础指令有(安装,启动,卸载)memcached 的基本命令(

6、安装、卸载、启动、配置相关):-p的端口-l 连接的IP 地址, 默认是本机-d start 启动memcached 服务-d restart 重起memcached 服务-d stop|shutdown 关闭正在运行的memcached 服务-d install 安装memcached 服务-d uninstall-u 以的卸载memcached 服务运行 (仅在以root 运行的时候有效)-m 最大内存使用,MB。默认 64MB ,最大好像 2G-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是 1024-f 块大小增长因子,默认是 1.25-n-h最小分配空间,key+v

7、alue+flags 默认是 48显示帮助如何操作的 memcache 服务net 操作 windows 如何添加数据连接到 memcached 服务cmdnet 11211add key 值 0 有效时间 数据大小add name 0 60 5 删除一个数据delete 键值比如: delete key1把 memcached 所有数据全部清空fulsh_allget查询键值修改replace key 值 0 时间 数据大小举例:replace key1 0 60 5 说明 replace 指令要求这个键值必须有,否则就会提示set key 值 0 时间 数据大小set

8、key1 0 60 5not_stored 信息 说明 set 指令,如果键值存在,就是替换,如果存在,就是添加细节: 在没有的情况下,你可以操作任何一个 memcached 服务器-安全问题?其它的一些基本操作指令append Append dao existing key append key 0 60 15prepend Prepend dao existing key prepend key 0 60 15Increments numerical key value by given number mykey 存放的应当是数字 才能增加和减少Decrements numerical k

9、ey value by given number mykey 存放的应当是数字 才能增加和减少incrinykey 2decrdeykey 5如何查看 memcached 的运行情况:使用程序来操作 memcached 服务这里需要引入_memcache.dll , 这里要特别说明:不同的版本,要使用对应的_memcache.dll 文件,否则是失败先完成使用 memcache 扩展来操作 memchced 服务(围绕 curd) 配置.ini 加载_memcache.dll;这里配置exten=_memcache 扩展_memcache.dllconnect(,11211)

10、 die(连接失败);/3.添加数据(字符串,数值,数组,对象,null,)/添加字符串/*bool Memcache:add ( string $key , mixed $var ,$key: 键值$var: 数据$flag: 是否压缩$expire: 有效时间*/$flag ,$expire )/*if($mem-set(name,顺平 echo 添加 ok;*/数值/*if($mem-set(online echo 添加 ok;*/*if($mem-set(islogin, echo 添加 ok;*/PRESSED,30)PRESSED,30)PRESSED,30)/数组,在默认情况下

11、memcache 是以序列化的方式存放数组./序列化的作用 1. 可以把序列化的数据保存到文件中,并可以恢复/2. 序列化的数据(对象),可以在网络上传输./3. 有时需要把数据 json 编码后在放入到 mem 可以使用/ json_encode(数据数组或者对象),返回是 可以使用 json_decode() json/*$city=array(bj= if($mem-set(city,$echo 添加 ok;*/,sj=);PRESSED,30)/4.存放对象, 在默认情况下,对象也是以序列化的方式存放的. class Dogvar $name; var $age;function co

12、nstruct($name,$age)$this-name=$name;$this-age=$age;/*$dog2=new Dog(老狗,10);if($mem-set(olddog,$ echo 添加 ok;*/PRESSED,30)/这里说明一个 memcached 数据的有效时间./如果你直接放入一个整数(秒),这个值/如果你要超过这个值,则 time()+时间秒过 30*24*3600/*if($mem-add(name4,ABCPRESSED,time()+310*24*3600)echo name4 添加 ok;elseecho 添加error;*/如何遍历,取出 memcach

13、ed 中的所有键-值对function mymemList($host,$port)$mem=new Memcache();$mem-connect($host,$port);$items=$mem-getExtendedSs (items);$items=$items$host:$portitems; foreach($items as $key=$values)$number=$key;$str=$mem-getExtendedSs (cachedump,$number,0);$line=$str$host:$port;$res=array();if( is_array($line) &

14、count($line)0) foreach($line as $key=$value)/echo $key.=;/pr_r($mem-get($key);/ echo rn;$res$key=$mem-get($key);return $res;$res=mymemList(localhost,11211); echo ;pr_r($res);echo ;/资源.数据库连接/*$conn=_connect(localhost,root,root);if($mem-set(dblink,$PRESSED,30)echo 添加 ok;*/获取数据$val1=$mem-get(dblink);/.

15、 二进制,然后保存./echo ; var_dump($val1);echo ; 说了一下序列化的使用和作用=$name;$this-age=$age;$dog1=new Dog(,5);file_put_contents(d:/kk.log,serialize($dog1);echo save ok!;=$name;$this-age=$age;/ses中保存的也是对象-也要这样处理,否则取不出对象属性值/把 kk.log 的狗信息恢复(反序列化)$dog1=unserialize(file_get_contents(d:/kk.log); echo ;

16、var_dump($dog1);echo ;echo $dog1-name;思考:时,的版本和提供 dll 扩展没有匹配的,则这如果遇到这样一个情况,就是只能使用源码 操作.看看这个源文件.demorequire_once memcached-cnt.;$mc = new memcached(array(servers = array(:11211),debug= false,compress_threshold = 10240,persistant = true);/添加, 接受看源码(别人代码,乱,烂) if($mc-set(key100,array(bj,tj),60)echo add ok;$mc-dele

温馨提示

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

评论

0/150

提交评论