上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: msg_get_queue — Create or attach to a message queuemsg_queue_exists — Check whether a message queue existsmsg_receive — Receive a message from a message queuemsg_remove_queue — Destroy a message queuemsg_send — Send a message to a message queuemsg_set_queue — Set information in the message queue dat 阅读全文
posted @ 2012-11-23 09:31 涛光 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 以下是php的共享内存常用函数,用于进程间的通信shm_attach — Creates or open a shared memory segmentshm_detach — Disconnects from shared memory segmentshm_get_var — Returns a variable from shared memoryshm_has_var — Check whether a specific entry existsshm_put_var — Inserts or updates a variable in shared memoryshm_remove_ 阅读全文
posted @ 2012-11-23 09:31 涛光 阅读(1218) 评论(0) 推荐(0) 编辑
摘要: 由于php的进程是不支持多线程的,有些场景为了方便以及提高性能,可以用php实现多进程以弥补这个不足:#!/usr/bin/env php<?php$cmds=array( array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',1), array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',2), array( 阅读全文
posted @ 2012-11-16 09:00 涛光 阅读(14484) 评论(1) 推荐(2) 编辑
摘要: 最近一个后台常驻job通过redis的brpop阻塞读取消息时,设置的超时时间较长list($key,$row)=$redis->brPop($queue_name,3600); //超时时间为1小时但是在实际的使用中发现很短时间后就会退出,通过查看error log,发现:'RedisException' with message 'read error on connection' 提示经过一番折腾,原来发现是php.ini文件中的一个配置项导致:default_socket_timeout = 60由于redis扩展也是基于php 的socket方式 阅读全文
posted @ 2012-11-14 17:33 涛光 阅读(12643) 评论(0) 推荐(0) 编辑
摘要: 实现思路:将两个redis-server作为后端,然后通过haproxy做为负载均衡器,每个redis-server的机器上配置配置一个用于健康检查的shell,并通过xinetd将这个shell设置为服务监听9981端口并进行管理。haproxy通过redis-server机器上的9981端口进行健康检查,如果检查失败,就直接移除该redis-server,恢复后又自动添加haproxy.confglobal maxconn 2# debug quiet user zhxia group zhxia nbpro... 阅读全文
posted @ 2012-11-13 09:31 涛光 阅读(7975) 评论(0) 推荐(0) 编辑
摘要: inotity-tools是用于监视linux文件系统变化的工具,非常适合于一些要求实时同步的场合,在linux内核为2.6.13版本以上的内核才支持,使用uanme -r 查看,我使用的是ubuntuzhxia@ubuntu-zhxia:/var/www/test$uname-r2.6.35-22-generic-pae首先安装inotify-tools,可以自行下载源码包安装,但我使用ubuntu的apt-get方式安装sudoapt-getinstallinotify-tools一下shell是将 /var/www目录同步到 /tmp/下 #!/bin/bashsrc=/var/wwwd 阅读全文
posted @ 2012-11-13 09:27 涛光 阅读(848) 评论(0) 推荐(0) 编辑
摘要: shell:#!/bin/bash#==========================================================# this example show you how to get data from pipe#========================... 阅读全文
posted @ 2012-11-13 09:27 涛光 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 以下函数可用于替换php内置的is_writable函数//可用于替换php内置的is_writable函数function isWritable($filename){ if(preg_match('/\/$/',$filename)){ $tmp_file=sprintf('%s%s.tmp',$filename,uniqid(mt_rand())); return isWritable($tmp_file); } if(file_exists($filename)){ //文件已经存在的话,使用读写方式打开 $fp... 阅读全文
posted @ 2012-11-08 23:03 涛光 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 为什么要进行进程间的通讯(IPC (Inter-process communication))数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。 阅读全文
posted @ 2012-11-08 18:27 涛光 阅读(14465) 评论(0) 推荐(2) 编辑
摘要: Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。wget https://github.com/downloads/kr/beanstalkd/beanstalkd-1.6.tar.gztar -xzvf beanstalkd-1.6.tar.gzmake && make install安装php扩展git clone https://github.com/nil-zhang/php-beanstalk.gi 阅读全文
posted @ 2012-11-01 21:59 涛光 阅读(3441) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页