Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • コマンドライン
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリー
    • 継続的統合
  • 言語サポート
    • Node.js
    • Ruby
      • Bundler の使用
      • Rails のサポート
    • Python
      • Python でのバックグランドジョブ
      • Django の使用
    • Java
      • Maven の使用
      • Java でのデータベース操作
      • Play Framework の使用
      • Spring Boot の使用
      • Java の高度なトピック
    • PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres Getting Started
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
    • Heroku Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
    • コンプライアンス
  • Heroku Enterprise
    • Private Space
      • インフラストラクチャネットワーキング
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
    • シングルサインオン (SSO)
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Integrating with Salesforce
  • データベースとデータ管理
  • Heroku Redis
  • Heroku Redis の Hobby 層のバージョンの非推奨化

Heroku Redis の Hobby 層のバージョンの非推奨化

日本語 — Switch to English

最終更新日 2021年12月13日(月)

Table of Contents

  • スケジュール
  • 影響を受けるアドオン
  • 移行する方法
  • アドオン設定の更新
  • Redis 6 にアップグレードする際の大きな変更の可能性

2021 年 3 月 10 日より、Heroku Redis バージョン 4 および 5 を Hobby 層のプランの非推奨としてマークします。つまり、現在のユーザーはアドオンをバージョン 6 にアップグレードする必要があります。これはほとんどのユーザーにとって簡単な下位互換性のあるアップグレードであると予想されますが、この記事全体を読んでプロセスを理解し、バージョン間で大きな変更が発生する可能性がある​ことを理解することをお勧めします。

ユーザーがアドオンを自発的にバージョン 6 にアップグレードしない場合は、2021 年 6 月 30 日の期限後に自動的にアップグレードされます。

スケジュール

イベント 日付
発表 2021 年 3 月 8 日
メールでのリマインダー 期限まで 30 日ごと
期限 2021 年 6 月 30 日
強制アップグレードの開始 2021 年 6 月 30 日

影響を受けるアドオン

  • Hobby 層の Heroku Redis 4 (Hobby Dev)
  • Hobby 層の Heroku Redis 5 (Hobby Dev)

移行する方法

最も速い方法

バージョン 6 を使用して新しい Heroku Redis アドオンを作成し、古いアドオンを破棄できます。

この方法は、古いアドオンのデータの内容を新しいアドオンに保持しません​。

$ heroku addons:create heroku-redis:hobby-dev --app sushi
$ heroku addons:destroy <old-redis-haiku-name> --app sushi

# optionally attach as REDIS
$ heroku addons:attach <new-redis-haiku-name> --as REDIS --app sushi

より遅い方法

アップグレード間でデータを保持したい場合は、新しい Redis アドオンフォークを作成し、それをアプリケーションのメンテナンス中にプロモートする必要があります。バージョンのアップグレードプロセス​については、Heroku Redis Dev Center の記事に記載されています。

アドオン設定の更新

バージョン 6 を使用する Heroku Redis の hobby アドオンには、アプリの環境設定に発行された 2 つの接続文字列が表示されます。

REDIS_URL:      redis://:password@hostname:port
REDIS_TLS_URL:  rediss://:password@hostname:tls-port

プレーンテキストの REDIS_URL​ を引き続き使用すると、バージョン 4 または 5 からバージョン 6 にアップグレードした後でも、期待どおりに機能します。ただし、すべてのクライアント接続に暗号化された REDIS_TLS_URL​ を使用することをお勧めします。

将来的には、プレーンテキストの redis://​ 接続文字列は暗号化された rediss://​ 接続文字列に置き換えられます。ユーザーは、TLS 接続文字列をサポートおよび使用して、Heroku Redis アドオンへの安全なクライアント接続を確立するようにアプリケーションの設定を移行することをお勧めします。

現時点では、暗号化されたクライアント接続を確立するときは、証明書の検証をスキップする必要があります。言語固有のクライアント接続の詳細は、Dev Center の記事​とヘルプセンターの記事​を参照してください。

Redis 6 にアップグレードする際の大きな変更の可能性

4.0 から 5.0 への移行

当社では、平等に関する当社の価値観に適合するよう、インクルーシブでない用語を可能な範囲で変更しました。当社製以外のシステムに関する記述では、インクルーシブでない用語をそのまま使用していますが、当社では開発者コミュニティに対し、よりインクルーシブな表現の採用を奨励しています。該当する用語については、技術的な正確さのために必要でなくなった時点での更新を予定しています。

Redis 4.0 はほとんどが 5.0 の厳密なサブセットであるため、アプリケーションを 4.0 から 5.0 にアップグレードしても問題はありません。ただし、これは 5.0 リリースで導入された下位互換性のない小さな変更のリストです。

  • redis-cli はクラスター管理ツールを実装するようになりました。古い redis-trib は引き続き出荷されますが、新しい修正は redis-cli でのみ実装されます。 詳細は、「redis-cli --cluster help​」を参照してください。
  • RDB 形式が変更されました。Redis 5.0 は引き続き 4.0 (および過去のすべてのバージョン) のファイルを読み取ることができますが、その逆はできません。
  • 特定のログ記録の形式と文は、Redis 5.0 では異なります。
  • 現在、デフォルトでは、maxmemory はスレーブによって無視され、スレーブがマスターにプロモートされたときにのみ使用されます。つまり、スレーブがマスターから独立した方法で maxmemory を強制する (とにかくキーエビクション DEL コマンドをストリーミングする) 設定では、この機能を手動でアクティブにし、書き込みが必ずしもべき等でない場合は一貫性が失われることを理解する必要があります。TLDR: 新しい動作は 99.999% のユースケースではるかに優れています。自分が何をしているかを本当に理解している場合は、元に戻してください。
  • スクリプトは、その影響​によってのみ複製され、EVAL/EVALSHA をスレーブまたは AOF ログ自体に送信することによっては複製されません。これは一般的なケースでははるかに優れており、将来的には、スクリプトを古い方法 (EVAL として) で伝播する他の可能性を完全に排除したいと考えています。ただし、文書化されていない (ここにない場合) Redis 設定ディレクティブ「lua-replicate-commands yes」または「DEBUG lua-always-replicate-commands 0」を使用して、これをデフォルトに戻すことができます。ただし、Redis 6 はそのような機能を完全に削除する可能性があることに注意してください。
  • スクリプトの複製に関連する上記の変更により、Redis 4 で結果が redis.call() の戻り値を介して Lua に渡される前に辞書の順序で並べられた特定の Redis コマンドは、コマンドを通常のクライアントから直接呼び出すのと同様の動作になりました。たとえば、SMEMBERS または SDIFF によって返される要素の順序は、スクリプト以外のコンテキストからコマンドを呼び出すときのデフォルトとまったく同じように、Lua では未確定になりました。

出典: ​Redis 5 リリースノート

5.0 から 6.0 への移行

Redis 6.0 はほとんどが 5.0 の厳密なスーパーセットであるため、アプリケーションを 5.0 から 6.0 にアップグレードしても問題はありません。ただし、これは 6.0 リリースで導入された下位互換性のない小さな変更のリストです。

  • 「SPOP count」コマンドは、設定されたキーが存在しない場合に null を返さなくなりました。現在は、0 引数で呼び出されたときに発生するように、空のセットが返されます。これは技術的には修正ですが、古い動作が変更されます。

出典: ​Redis 6 リリースノート

関連カテゴリー

  • Heroku Redis
暗号化鍵を使用した Heroku Redis の暗号化 Heroku Redis と Private Space

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences