Gearman は分散ジョブ サーバーであり、Redis は分散ストアです。つまり、リンゴとオレンジを比較するようなものです。
現在、Gearman のような機能を Redis で実装することができます (たとえば、リスト データ型に基づく) が、それは自前のアプローチです。原則は単純ですが、悪魔は細部に宿ります。
最適な Redis 分散キューの実装は、Ruby (Resque) と Python (Celery、RQ) 向けです。PHP 用の Resque のポートがあります。
https://github.com/chrisboulton/php-resque
Gearman を Redis ベースの実装と比較する際に考慮すべき重要な点があります。
Gearman ジョブはクライアントに完了を通知し、同期または非同期にすることができます。特定のものを実装しない場合、Redis キューは完了通知のない非同期ジョブのみをサポートします。
ブローカーの高可用性。Gearman は既製の戦略を提案します。Redis はそうではありません。マスター/スレーブ レプリケーションを構成し、Redis Sentinel を使用することはできますが、Redis HA は単純な問題ではありません。
持続性。Gearman はインメモリ キューをサポートしていますが、いくつかの永続的なバックエンド (MySQL、Drizzle、sqlite、PostgreSQL) もサポートしています。Redis はさまざまな永続化オプションを提案していますが、MySQL や PostgreSQL のようなトランザクション エンジンほど信頼できるものはありません。
垂直方向のスケーラビリティ。Redis は非常に効率的ですが、シングルスレッドのプロセスです。Gearmand はマルチスレッド プロセスであり、おそらくより適切にスケーリングできます (単一のプロセスを考慮すると)。
Redis ベースの分散ジョブ システムを実装するのは楽しく興味深いものですが、すぐに機能するものが必要な場合は、Gearman が最適です。