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
相关文章

17 Feb 2025
WordPress 深度依赖第三方 JavaScript 和 PHP 库,其中 jQuery 是使用最广泛的 JavaScript 库,PHP 库主要由单个类文件组成。其他使用的 JavaScript 库包括 jQuery Masonry、jQuery Hotkeys、jQuery Suggest、jQuery Form、jQuery Color、jQuery Migrate、jQuery Schedule、jQuery UI、Backbone、colorpicker、hoverIntent、S

28 Dec 2024
PHP 库很方便,因为可以从应用程序中的任何位置访问它们:从插件、组件模型、模块等。如果有人已经解决了类似的问题并将其设计为库(甚至更新了它),那就有意义了

04 Mar 2025
本文研究了Oracle数据库细分类型(数据,索引,回滚,临时),其性能含义和管理。 它强调根据工作量和数据特征选择适当的段类型,以提高最佳效率

10 Mar 2025
本文探讨了PHP 7中的优化数据库查询。它解决了源于效率低下的查询,网络延迟和数据库服务器负载的性能瓶颈。策略包括使用适当的数据类型,索引,查询优化

11 Apr 2025
Oracle 数据库提供丰富的基本数据类型,包括数字、字符、日期/时间、布尔、CLOB 和 BLOB 类型。它们决定了数据存储和处理方式,影响数据库性能和数据完整性。选择合适的数据类型并理解其存储机制至关重要。通过代码示例和最佳实践,本文深入探讨了数据类型在数据库设计、性能优化和实际应用中的作用。


热工具
