Valkey: Rubyとの使用

ValkeyをRubyと接続する方法

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

Stackheroは、数多くの利点を提供するValkeyクラウドソリューションをすぐに利用できる形で提供しています。

  • Redis Commander Web UIが含まれています。
  • メッセージサイズと転送が無制限
  • ワンクリックで簡単にアップデート
  • プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ

時間を節約し、生活を簡素化:StackheroのValkeyクラウドホスティングソリューションを試すのに5分しかかかりません!

Valkeyは、優れたパフォーマンスと柔軟性を備えたオープンソースのインメモリデータベースです。より制限的なライセンスを採用したRedisからフォークされ、Valkeyは完全なオープンソースの代替を提供します。Redisライブラリとのシームレスな互換性を提供し、以前Redisに依存していたプロジェクトにとって優れた代替品となります。

NoSQLデータベースと呼ばれることが多いValkeyは、文字列、ハッシュ、リスト、セット、ソートセットなど、幅広いデータ構造をサポートしています。高速な操作と大量のデータを処理する能力により、キャッシング、リアルタイム分析、メッセージングなどのユースケースで人気の選択肢となっています。

ValkeyはRubyおよびRuby on Railsと簡単に統合され、パフォーマンス、スケーラビリティ、柔軟性を向上させます。Ruby開発者は、キャッシング、セッション管理、リアルタイムデータ処理、バックグラウンドジョブ処理などの機能を実装するためにValkeyを活用できます。

RubyおよびRuby on RailsでValkeyが利用される一般的な方法は次のとおりです:

  1. キャッシング:ValkeyはRailsアプリケーションのキャッシュレイヤーとして機能し、応答時間を短縮し、データベースの負荷を軽減します。

  2. バックグラウンドジョブ処理:Valkeyは、SidekiqやResqueのような人気のあるバックグラウンドジョブ処理ライブラリのバックエンドとして機能し、Railsアプリケーションのバックグラウンドタスクのパフォーマンスと信頼性を向上させます。

  3. リアルタイム機能:ValkeyのPub/Sub機能により、Railsアプリケーションは通知、チャットシステム、リアルタイム分析などのリアルタイム機能を提供し、アプリケーションコンポーネント間での迅速かつ効率的なメッセージのやり取りを可能にします。

Stackheroは、以下のような多くの利点を提供する、すぐに使えるRubyクラウドソリューションを提供しています:

  • 簡単なgit pushでアプリケーションを数秒でデプロイします。
  • 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受します。
  • 自動バックアップワンクリックアップデート、シンプルで透明性があり、予測可能な価格設定で安心を提供します。
  • プライベートで専用のVMによる最適なパフォーマンスと堅牢なセキュリティを得られます。

時間を節約し、生活を簡素化:StackheroのRubyクラウドホスティングソリューションを試すのに5分しかかかりません

Ruby on RailsでValkeyをキャッシュシステムとして設定するには、次の手順に従います:

  1. redis gemをインストールします:
bundle add redis
  1. config/environments/production.rbファイルを編集し、次の設定を追加します:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
  1. VALKEY_URL環境変数を定義します。以下の形式のURLを使用し、<yourPassword><XXXXXX>を資格情報で置き換えます:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Ruby on RailsのキャッシュシステムとしてValkeyを設定する詳細については、公式Railsドキュメントはこちらを参照してください。

Sidekiqは、環境変数REDIS_URLで定義されたValkeyサーバーを自動的に使用します。

環境変数REDIS_URLを次のように設定できます。<password><XXXXXX>を情報で置き換えてください:

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

デフォルトでは、Sidekiqはネットワーク障害を許容しないように設定されています。これを改善するために、config/initializers/sidekiq.rbでSidekiqクライアントの設定を変更して安定性を向上させることをお勧めします:

# ファイル config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # タイムアウトを5秒に設定
    pool_timeout: 5, # タイムアウトを5秒に設定
    reconnect_attempts: Array.new(240, 0.5) # エラーをトリガーする前に、0.5秒ごとに240回(合計120秒/2分)再接続を試みる
  }
end

この設定により、Valkeyサーバーが利用できなくなった場合、クライアントはエラーを報告する前に2分間再試行を試みます。これにより、Valkeyサーバーが再起動する時間が確保されます。Sidekiqの使用状況に応じて、この設定を調整して特定の要件に合わせることができます。

SidekiqとValkeyに関する詳細情報は、公式ドキュメントはこちらを参照してください。

ResqueでValkeyを使用するには、環境変数REDIS_URLを次のように設定します。<yourPassword><XXXXXX>を資格情報で置き換えてください:

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

Resqueは、REDIS_URL環境変数で指定されたValkeyサーバーを自動的に使用します。

ResqueとValkeyの使用に関する詳細情報は、Resqueドキュメントはこちらを参照してください。