Ruby: Redis

RubyおよびRuby on RailsをRedisに接続して、高速なキャッシュとバックグラウンドジョブを実現

👋 Stackhero ドキュメントへようこそ!

Stackhero では、すぐに使える Ruby cloud ソリューションをご提供しています。主な特長は以下の通りです:

  • シンプルな git push だけで、数秒でアプリケーションをデプロイできます。
  • 独自ドメイン名をご利用いただけ、HTTPS 証明書の自動設定による高いセキュリティを実現します。
  • 自動バックアップワンクリックアップデート、そしてシンプルで透明性のある予測可能な料金体系で安心してご利用いただけます。
  • プライベートかつ専用インフラによる最適なパフォーマンスと堅牢なセキュリティを確保しています。

時間を節約し、運用をシンプルに:Stackhero の Ruby cloud hosting ソリューションは、わずか5分でお試しいただけます!

Redis(Remote Dictionary Server)は、スピードと大規模な効率性を追求して設計されたインメモリデータベースです。その主な強みは、高いスループット、低レイテンシ、そして多様なデータ構造のサポートであり、キャッシュ、リアルタイム分析、メッセージングなど、さまざまな用途で利用されています。

RedisはGNU AGPLv3ライセンスのもとで配布されています。よりパーミッシブなライセンスをお求めの場合は、Valkeyをご検討ください。ValkeyはBSDライセンスのもとでコミュニティ主導で開発されているRedisのフォークです。大手企業でも広く採用されており、Stackheroでもご利用いただけます。

Redisは、文字列、ハッシュ、リスト、セット、ソート済みセットなど、複数のデータ型をサポートしています。大量データやリアルタイム処理における高いパフォーマンスにより、アプリケーションの速度、スケーラビリティ、信頼性を向上させたいRubyおよびRuby on Rails開発者にとって特に有用です。

Redisを活用することで、以下のような機能を追加できます:

  1. キャッシュ:RailsのキャッシュストアとしてRedisを利用することで、データベースへのクエリ数を削減し、レスポンスタイムを短縮できます。
  2. バックグラウンドジョブ処理:SidekiqやResqueなどのライブラリと連携し、Redisをバックエンドとして信頼性の高い効率的なバックグラウンドタスク実行を実現します。
  3. リアルタイム機能:通知、チャットシステム、ライブ分析などの機能を、RedisのPub/Subを使って構築できます。これにより、コンポーネント間で高速なメッセージ配信が可能です。

Stackheroでは、すぐに使えるRedisクラウドサービスを提供しています。主な特長は以下の通りです:

  • データ管理を簡単に行えるRedis CommanderWeb UIを標準搭載。
  • メッセージサイズや転送量に制限なし。
  • ワンクリックアップデートによるシームレスな更新。
  • 専用プライベートインフラによる安定したパフォーマンスと強固なセキュリティ

StackheroのRedisクラウドホスティングなら、数分でデプロイとセットアップが完了し、すぐにご利用を開始できます。

Redisキャッシュを統合するには、プロジェクトにredis gemを追加してください:

bundle add redis

次に、config/environments/production.rbファイルを以下のように編集します:

config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }

REDIS_URL環境変数を設定します。<yourPassword><XXXXXX>はご自身の認証情報に置き換えてください:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

詳細や高度なオプションについては、Rails公式キャッシュドキュメントをご参照ください。

Sidekiqは、REDIS_URL環境変数で指定されたRedisサーバーを自動的に利用します。以下のように設定し、<yourPassword><XXXXXX>を更新してください:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

さらに詳しく知りたい場合は、SidekiqのRedis利用に関するドキュメントをご覧ください。

ResqueもREDIS_URL環境変数からRedisサーバー情報を読み込みます。下記のように設定し、<yourPassword><XXXXXX>を置き換えてください:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"

ResqueでのRedis利用については、Resque公式ドキュメントもご参照ください。