首页 PHP 库 其它类库 Beanstalkd的PHP库
Beanstalkd的PHP客户端库

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

相关文章

WordPress使用的JavaScript和PHP库 WordPress使用的JavaScript和PHP库

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

在 Joomla 中连接第三方 PHP 库 在 Joomla 中连接第三方 PHP 库

28 Dec 2024

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

oracle数据库中常用的段有哪些 oracle数据库中常用的段有哪些

04 Mar 2025

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

如何优化PHP 7中的数据库查询? 如何优化PHP 7中的数据库查询?

10 Mar 2025

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

oracle数据库的基本数据类型有哪些 oracle数据库的基本数据类型有哪些

11 Apr 2025

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

PHP可以使用PDO创建数据库吗? PHP可以使用PDO创建数据库吗?

08 Nov 2024

在 PHP 中使用 PDO 创建数据库在 PHP 中,PDO(PHP 数据对象)是广泛使用的与数据库交互的扩展。它的其中之一...

See all articles