Redis®*: はじめに
Redisを始めるためのクイックガイド
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるRedisクラウドソリューションを提供しています。
Redis CommanderWeb UIを含む。- メッセージサイズと転送が無制限。
- ワンクリックで簡単にアップデート。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのRedisクラウドホスティングソリューションを試すのに5分しかかかりません!
Redisは非常に高速で強力なインメモリデータベースで、多目的に利用できます。キャッシュシステム、キー・バリューストア、リアルタイムデータソート、パブリッシュ・サブスクライブキューやイベントシステムとして機能します。
警告 Redisはライセンスを変更し、もはやオープンソースではありません。 コミュニティ、開発者、企業は、RedisのフォークであるValkeyを作成しました。これはRedisの直接の代替品です。 Redisの代わりにValkeyを使用することをお勧めします。
開始するために、Redisインスタンスに接続する方法を示すコード例をいくつか共有しました。これらの例は次のGitHubリポジトリで見つけることができます:https://github.com/stackhero-io/redisGettingStarted。
RubyおよびRuby on RailsでRedisを使用する
Ruby on RailsのキャッシュシステムとしてRedisを設定する
まず、「redis」gemをインストールすることをお勧めします。次のコマンドを実行してインストールできます:
bundle add redis
次に、config/environments/production.rbファイルを開き、次の行を追加します:
config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'] }
最後に、REDIS_URL環境変数を定義します。以下のテンプレートを使用して詳細を置き換えてください:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
警告 デフォルトでは、キャッシュは本番環境でのみ有効です。開発中にキャッシュをテストしたい場合は、
config/environments/development.rbファイルを編集できます。上記の設定を追加し、config.action_controller.perform_caching = trueを含めてキャッシュを有効にします。キャッシュが機能していることを確認する簡単な方法は、Railsコンソール(bin/rails consoleを使用)を開始し、Rails.cache.write("foo", "bar")と書いてテストすることです。
Ruby on RailsのキャッシュシステムとしてRedisを設定する詳細については、公式Railsドキュメントを参照してください。
Sidekiq用のRedisを設定する
Sidekiqは、REDIS_URL環境変数で指定されたRedisサーバーを自動的に利用します。
REDIS_URL環境変数を次のように特定の情報で定義できます:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
SidekiqとRedisを使用する詳細については、公式Sidekiqドキュメントを参照してください。
Resque用のRedisを設定する
ResqueもSidekiqと同様に、REDIS_URL環境変数で定義されたRedisサーバーを使用します。
次のようにREDIS_URLを詳細で設定します:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
ResqueとRedisを使用する詳細については、公式Resqueドキュメントを参照してください。
RedisでPHPセッションを管理する
Stackhero for RedisでPHPセッションを保存するために、次のコードを使用できます:
<?php
// Redis URLを解析
$redis_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// セッションハンドラを設定
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$redis_url['host']}:{$redis_url['port']}?auth={$redis_url['pass']}&timeout=5");
// セッションを開始
session_start();
?>
Redisのセキュリティを強化する
Redisインスタンスのセキュリティを確保するために、特定のセキュリティ対策を実施することが重要です。
Redisとの通信を暗号化する(TLS)
デフォルトでは、Redisは通信を暗号化しません。しかし、StackheroではデフォルトでTLS暗号化を組み込んでいます。
これを利用するには、RedisクライアントをTLS暗号化を使用するように設定し、<PORT_TLS>ポートを通じてインスタンスに接続します。<PORT_CLEAR>はデータを暗号化しないため、使用しないでください。
最良の部分は、複雑な設定をこちらで処理しているため、他に何もする必要がないことです。
Redisをブルートフォース攻撃から保護する
Redisインスタンスはパスワードで保護されており、Stackheroが自動的に非常に安全なデフォルトに設定します。変更する場合は、非常に複雑なパスワードを選択してください。
Redisは非常に効率的ですが、ブルートフォース攻撃に対する組み込みの保護がなく、攻撃者が1秒間に最大150,000のパスワード組み合わせをテストする可能性があります。
このリスクに対抗するために、16文字以上のパスワード長を強制しています(約4.5231285e+74の組み合わせを提供)。デフォルトでは、64文字のパスワードを使用しています(約9.61963e+111の組み合わせを提供)。
セキュリティをさらに強化し、ブルートフォース攻撃のリスクを大幅に減らすために、Stackheroのファイアウォール設定(「Firewall」タブで見つかります)を設定し、接続を自分のIPアドレスに限定することを強くお勧めします。このステップはセキュリティ体制を強化するために不可欠です。