Beanstalk,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。
后来开源,现在有PostRank大规模部署和使用,每天处理百万级任务。Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格,所以使用过memcached的用户会觉得Beanstalkd似曾相识。
高性能离不开异步,异步离不开队列,而其内部都是Producer-Comsumer模式的原理。
Beanstalkd的PHP客户端库
#!/usr/bin/env php <?php define('BASE_DIR', realpath(__DIR__.'/..')); define('PHAR_FILENAME', 'pheanstalk.phar'); define('PHAR_FULLPATH', BASE_DIR.'/'.PHAR_FILENAME); // ---------------------------------------- reexecute_if_phar_readonly($argv); delete_existing_pheanstalk_phar(); build_pheanstalk_phar(); verify_pheanstalk_phar(); exit(0); // ---------------------------------------- // See: http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly function reexecute_if_phar_readonly($argv) { if (ini_get('phar.readonly') && !in_array('--ignore-readonly', $argv)) { $command = sprintf( 'php -d phar.readonly=0 %s --ignore-readonly', implode($argv, ' ') ); echo "Phar configured readonly in php.ini; attempting to re-execute:\n"; echo "$command\n"; passthru($command, $exitStatus); exit($exitStatus); } } function delete_existing_pheanstalk_phar() { if (file_exists(PHAR_FULLPATH)) { printf("- Deleting existing %s\n", PHAR_FILENAME); unlink(PHAR_FULLPATH); } } function build_pheanstalk_phar() { printf("- Building %s from %s\n", PHAR_FILENAME, BASE_DIR); $phar = new Phar(PHAR_FULLPATH); $phar->buildFromDirectory(BASE_DIR); $phar->setStub( $phar->createDefaultStub('vendor/autoload.php') ); } function verify_pheanstalk_phar() { $phar = new Phar(PHAR_FULLPATH); printf("- %s built with %d files.\n", PHAR_FILENAME, $phar->count()); }
本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn
相关文章
13 Jun 2016
推荐25款php中非常有用的类库,25款php中非类库。推荐25款php中非常有用的类库,25款php中非类库 Snappy Snappy是PHP5用于生成缩略图,快照,PDF,URL或HTML页面。它采用了优秀的基于WebKit的wkht
06 Aug 2023
如何使用PHP编写库存管理系统中的库存库位管理功能代码库存管理系统对于任何一家企业来说都是至关重要的,它能够帮助企业实时追踪商品库存情况,准确掌握库存数量和位置,提高工作效率。其中,库存库位管理是库存管理系统中的一个关键功能之一,它能够帮助企业管理和分类不同种类的库位,确保仓库的整洁和有序。本文将教你如何使用PHP编写库存库位管理功能的代码。首先,我们需要创
13 Jun 2016
PHP编程中常用到的PHP类库总结。下面介绍的是 PHP 编程中的经常用到的一些PHP的类库 一、图表库 下面的类库可以让你很简的创建复杂的图表和图片。当然,它们 需要GD库的
01 Jun 2016
介绍20个非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。 图表库 下面的类库可以让你很简的创建复杂的图表和图片。当然,它们需要GD库的支持。 pChart 一个可以创建统计图的库
15 Jul 2023
PHP中的数据库相关数据类型及其操作示例一、简介数据库是应用程序中最重要的组成部分之一,它负责存储和管理应用程序所需的数据。在PHP中,我们可以使用多种方法来操作数据库,如MySQL、SQLite、Oracle等。本文将重点介绍PHP中常用的数据库相关数据类型以及其操作示例。二、数据类型字符串(String)字符串是最常见的数据类型之一,用于存储文本数据。在
19 Feb 2024
1.实体类实体类是Hibernate中最重要的概念之一,它表示数据库中的一张表。实体类中的属性对应于表中的列,实体类中的方法对应于表中的操作。@EntitypublicclassUser{@Id@GeneratedValueprivateLongid;privateStringname;privateStringemail;//省略其他属性和方法}2.数据访问对象数据访问对象(DAO)是Hibernate中另一个重要的概念,它负责对数据库进行操作。DAO通常是一个接口,它定义了对数据库进行操作的