ホームページ  >  記事  >  データベース  >  Redis の導入、インストール、デプロイメントに関する注意事項

Redis の導入、インストール、デプロイメントに関する注意事項

coldplay.xixi
coldplay.xixi転載
2021-02-24 09:52:301427ブラウズ

Redis の導入、インストール、デプロイメントに関する注意事項

推奨 (無料): redis

##記事ディレクトリ

    1. Redis とは
  • 2. Redis でできること
  • 3. Redis のダウンロード、インストール、展開
  • 4. Redis に関するちょっとした知識

1. Redis とは

Redis: REmote DIctionary Server (リモート辞書サーバー)

Redis は完全にC 言語で書かれたオープン ソースで無料の、BSD プロトコルに準拠した

高性能 (キー/値) 分散メモリ データベース。また、メモリとメモリに基づいて実行される NoSQL データベースでもあります。永続性をサポート は、最も人気のある NoSql データベースの 1 つであり、データ構造サーバーとしても知られています。同時に、Redis はシンプルで効率的な、分散型のメモリベースの キャッシュ ツールでもあります。サーバーの構築後、ネットワーク接続を通じて Key-Value キャッシュ サービスが提供されます (データベースと同様)。

Redis には次の利点があります:

  • 1. 非常に高いパフォーマンス Redis の読み取り速度は 110,000 回/秒です。書き込み速度は8万回/秒。
  • 2. 豊富なデータ型 Redis でサポートされている型には、文字列、ハッシュ、リスト、セット、および順序付けセットのデータベース タイプが含まれます。
  • 3. アトミック性 すべての Redis 操作はアトミックであり、MULTI および EXEC 命令によってラップされます。
  • 4. 豊富な読み取りと書き込み Redis は、パブリッシュ/サブスクライブ、通知、キーの有効期限などの機能をサポートしています。
  • 5. 高速な読み書き Redis は独自のセパレータを使用しており、コード量が非常に短く、ロック (MySQL) を使用しないため、効率が非常に高くなります。

Redis には次の欠点もあります:

  • 1. 永続性 Redis はデータをメモリに直接保存します。データをディスクに保存するには、最初の方法は ① スケジュールされたスナップショット (スナップショット) を使用することです。データベース全体を時々ディスクに書き込み、毎回すべてのデータを書き込みます。コストが非常に高い; 2 番目の方法は ②ステートメント (aof) に基づいて追加する : 変更されたデータのみが追跡されますが、追加されたログが大きすぎる可能性があり、すべての操作を再実行する必要があるため、処理速度が遅くなります回復。
  • 2. メモリ消費量、メモリ占有量が多すぎます。

2. Redis でできること

エンタープライズ開発では、Redis をデータベース、キャッシュ、ホット データ (頻繁にクエリされるが変更されない) として使用できます。または削除された)データ)、メッセージミドルウェア、およびその他のほとんどの機能。

Redis の一般的なシナリオの例は次のとおりです。

  • キャッシュ 現在、キャッシュは要件です。キャッシュを適切に使用する最も効果的な方法は、Web サイトのアクセス速度を向上させるだけでなく、データベースへの負荷を大幅に軽減することです。 Redis はキーの有効期限機能と柔軟なキー削除戦略を提供します。

  • ランキングリスト タオバオの月間売上リスト、時間別の新商品リストなど。 Redis が提供する順序付きセット データ構造は、さまざまな複雑なランキング アプリケーションを実装できます。

  • カウンター ECサイトでの商品の閲覧数、動画サイトでの動画再生数など。データのリアルタイム性を確保するには、閲覧ごとに 1 を与える必要があり、同時実行性が高い場合、毎回データベース操作を要求するのは間違いなく困難であり、プレッシャーになります。 Redis が提供する incr コマンドは、非常に優れたパフォーマンスでカウンター関数とメモリ操作を実装しており、これらのカウント シナリオに非常に適しています。

  • 分散セッション クラスター モードでは、アプリケーションがそれほど多くない場合、通常はコンテナーに付属するセッション レプリケーション機能を使用するだけで十分です。アプリケーション内 複雑化するシステムでは、Redis などのインメモリ データベースを中心としたセッション サービスが構築されることが一般的であり、セッションはコンテナではなく、セッション サービスとインメモリ データベースによって管理されます。

  • 分散ロック 分散テクノロジーによってもたらされる技術的課題は、グローバル ID、在庫削減、フラッシュ セールなどの同じリソースへの同時アクセスです。同時実行性が低いシナリオは、データベースの悲観的ロックと楽観的ロックを使用して実装できます。ただし、同時実行性が高いシナリオでは、リソースへの同時アクセスを制御するためにデータベース ロックを使用するのは理想的ではなく、データベースのパフォーマンスに大きな影響を与えます。 Redis の setnx 関数を使用して、分散ロックを書き込むことができます。設定が 1 を返した場合、ロックの取得が成功したことを意味します。それ以外の場合、ロックの取得は失敗しました。実際のアプリケーションではさらに詳細を考慮する必要があります。

  • ソーシャル ネットワーク 好き、嫌い、フォローする/フォローされる、共通の友達など、ソーシャル ネットワーキング サイトの基本的な機能です。ソーシャル ネットワーキング サイトへのアクセスは通常、比較的大規模であり、従来のリレーショナル データベース タイプはこのタイプのデータの保存には適していませんが、Redis が提供するハッシュ、セット、およびその他のデータ構造を使用すると、これらの機能を簡単に実装できます。

  • 最新リスト Redis リスト構造。LPUSH はリストの先頭にキーワードとしてコンテンツ ID を挿入できます。LTRIM を使用して、リストの数に応じて、リストは常に N ID になります。最新のリストをクエリする必要はなく、ID に基づいて対応するコンテンツ ページに移動するだけです。

  • メッセージ システム
    メッセージ キューは、ActiveMQ、RabbitMQ、Kafka やその他の一般的なメッセージ キュー ミドルウェアなど、大規模な Web サイトに必要なミドルウェアであり、主にビジネスで使用されます。デカップリング、トラフィックのピークシェービング、およびリアルタイム パフォーマンスの低いサービスの非同期処理。 Redis は、単純なメッセージ キュー システムを実装できるパブリッシュ/サブスクライブおよびブロック キュー機能を提供します。ただし、これをプロフェッショナルなメッセージ ミドルウェアと比較することはできません。

3. Redis のダウンロード、インストール、デプロイメント

Redis の英語公式 Web サイト。
Redis 中国語 Web サイト。

Redis 開発を行っている企業の 99% は Linux 版を使用およびインストールしているため、この記事では Linux でのインストールと操作のみを紹介しますが、Windows でのインストールには Baidu を使用できます。上記の公式 Web サイトにアクセスし、[ダウンロード] をクリックして .gz インストール パッケージをダウンロードし、Linux の /opt ディレクトリに配置します (ここでは Redis バージョン 6.0.5 をインストールしました)。

  • 解凍コマンドは次のとおりです: tar -zxvf redis-6.0.5.tar.gz

上記のコマンドは Redis の解凍のみを行います。 Redis をインストールする場合は、Linux システムに gcc 環境が必要です。そうでない場合は、yum install gcc-c を使用してインストールし、gcc -v## を使用します。 # バージョンを確認します。

#Linux 環境に既に gcc 環境がある場合は、次のコマンドを直接使用してインストールします。

インストール コマンドは次のとおりです。
    make install
  • インストール後、デフォルトでは Tomcat のように自動的に起動できません。redis.conf ファイルの daemonize 属性を yes に変更できます。

redis サービスを開始します:
    redis-server /myredis/redis.conf
  • (これはプロパティを変更した後の redis 構成ファイルです)
  • バックグラウンド Redis サービスが開始されているかどうかを表示します:

    ps -ef|grep redis
  • Redis サービスを開始します:

    redis-cli -p 6379

  • Redis の導入、インストール、デプロイメントに関する注意事項
通常通り閉じるとデータが保存されます

redis コマンド ラインshutdown
コマンド シャットダウン。

異常なシャットダウンは簡単にデータ損失につながる可能性があります

停電、手動での Redis プロセスの強制終了など。

他のいくつかの Redis コマンド


Redis の導入、インストール、デプロイメントに関する注意事項

4. Redis に関するちょっとした知識

Redis は単一プロセスであり、単一プロセス モデルを使用してクライアント要求を処理します。読み取りや書き込みなどのイベントへの応答は、epoll 関数をラップすることによって実行されます。 Redis の実際の処理速度は、メインプロセスの実行効率に完全に依存します。

epoll は、ファイル記述子の大規模なバッチを処理するために Linux カーネルによって作成された epoll の改良版です。Linux での多重化 IO インターフェイスの選択/ポーリングの拡張版です。これにより、アクティブな同時接続が少数しかない場合、システム CPU 使用率が高くなるプログラムのパフォーマンス。

    Redis にはデフォルトで 16 のデータベースがあります。添字はゼロから始まります。初期デフォルトでは、ゼロのデータベースが使用されます。
  • SELECT を使用できます。

    接続するコマンド。指定されたデータベース。
    Redis の導入、インストール、デプロイメントに関する注意事項

  • dbsize

    コマンドは、現在のデータベース内のキーの数を表示できます (keys *すべてのキーを表示)。
    Redis の導入、インストール、デプロイメントに関する注意事項

  • #flushdb
  • : 現在のライブラリをクリアします (慎重に使用してください)

    ##Flushall
  • : すべてのライブラリをクリアします (慎重に使用してください)
  • 統合パスワード管理。16 個のライブラリが同じパスワードを持ち、すべてが OK であるか、どれも接続できないかのどちらかです。

  • #Redis インデックスはすべて 0 から始まります

  • Redis のデフォルトのポートは 6379

  • ##その他の関連する無料学習の推奨事項:
  • redis 入門チュートリアル

以上がRedis の導入、インストール、デプロイメントに関する注意事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。