More Related Content
Similar to 如何用队列提升系统性能 (20)
如何用队列提升系统性能
- 1. 如何用队列提升系统的性能 孙立@凤凰网 www.ifeng.com http://twitter.com/sunli1223http://t.sina.com.cn/sunli1223 http://t.ifeng.com/sunlihttp://sunli.cnblogs.com/
- 9. 用队列实现分布式任务处理 邮件发送,短信发送 发送进程 a@126.commaila Queue.get() Queue.get() Queue.get() b@126.commaila 发送进程 b@gmail.commaila c@126.commailb 发送进程 d@sina.commailb e@sina.commailb ……
- 11. 用队列实现可执行任务 队列存储可执行脚本逻辑 //存储逻辑到队列 memcachedClient.add("job_pass", 0, "#!/bin/shsome code"); memcachedClient.add("job_pass", 0, "<?phpsone code?>"); //执行代码 String code = memcachedClient.get("job_pass"); String result=RunJob.runCode(code);
- 17. ICQueue的使用 <?php $mem=newMemcache(); $mem->addServer("127.0.0.1",13421,false,1,100); $str=json_encode($posts); $mem->add("bbs_password_",$str,0,0);//入队,bbs为队列名称,password为密码,$str为入队的内容 $mem->get("bbs_password_");//从队列中获取队列头部的数据 ?> <?php $mem=newMemcache(); $mem->addServer("127.0.0.1",13421,false,1,100); $mem->get(“clear|bbs|password”);//清空 $mem->get(“size|bbs|password”); //获取队列剩余数据条数 ?>
- 18. ICQueue的扩展和可靠性 利用memcached的hash可实现扩展 $mem->add(“bbs_password_123”,$str,0,0); $mem->add(“bbs_password_135”,$str,0,0); //bbs_password_{随机字符},icqueue自动忽略密码后的字符 利用故障转移功能可实现高可靠性 $mem=new Memcache(); $mem->addServer(“192.168.100.11",13421,false,1,100); $mem->addServer(“192.168.100.12",13421,false,1,100);