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
相關文章
26 May 2023
PHP是一種非常流行的開源腳本語言,它廣泛地用於Web開發。 PHP提供了許多功能強大的類別庫,這些類別庫為Web開發者提供了許多便利。在本文中,我們將介紹PHP中的一些常見類別庫和它們的用法。 StandardPHPLibrary(SPL)SPL是PHP的標準類別庫,提供了許多解決問題的類別和介面。這些類別包含了幾乎所有PHP開發中可能需要的資料結構和演算法,例如:堆
22 Nov 2016
以下是一些非常有用的PHP類別庫,相信一定可以為你的WEB開發提供更好和更快速的方法。 圖表庫 下面的類別庫可以讓你很簡的創建複雜的圖表和圖片。當然,它們需要GD庫的支援。 pChart - 一個可以建立統計圖的函式庫。 Libchart - 這也是一個簡單的統計圖庫。 JpGraph - 一個物件導向的圖片建立類別。 Open Flash Chart - 這是一個基於Flash的統計圖。 …
19 Feb 2024
1.實體類別實體類別是Hibernate中最重要的概念之一,它表示資料庫中的一張表。實體類別中的屬性對應於表中的列,實體類別中的方法對應於表中的操作。 @EntitypublicclassUser{@Id@GeneratedValueprivateLongid;privateStringname;privateStringemail;//省略其他屬性和方法}2.資料存取物件資料存取物件(DAO)是Hibernate中另一個重要的概念,它負責對資料庫進行操作。 DAO通常是一個接口,它定義了對資料庫進行操作的
26 Apr 2024
PHP函數庫包含以下類別:核心類別:基本類型、數學、字串、陣列日期和時間類別:日期、時間、時區檔案和目錄類別:檔案、目錄網路類別:套接字、URL、HTTP安全類別:加密、雜湊、隨機數其他類別:異常、調試、影像
02 Jun 2023
PHP圖片處理類別庫是PHP開發者常用的工具之一,它可以幫助我們快速輕鬆地對圖片進行編輯、剪裁、縮放等操作。本文將介紹如何使用PHP圖片處理類別庫。一、什麼是PHP圖片處理類別庫? PHP圖片處理類別庫是為了方便PHP開發者對圖片進行快速處理而開發的一組工具包。它可以處理JPG、PNG、GIF和BMP等圖片格式,實現圖片縮放、旋轉、裁剪等多