Redis は、データがキーと値のペアで保存される NOSQL データベースです。
Redis はデータをメイン メモリに保存します。つまり、データをディスクに保存する PostgreSQL のようなデータベース システムとは異なり、高速ですが揮発性です。
サーバーとデータベースを備えたアプリケーションでは、データベース上の情報にアクセスすると遅延が発生します。
redis のような Key-Value データベースはこれらのデータベースの前に置かれることが多く、アクセス操作には 2 つの手順が必要です:
これらの 2 つの手順と、メイン メモリのレイテンシがディスクよりも低いことを考慮すると、Redis を使用して、頻繁に使用される最近のデータや高価な操作の保存とアクセスが可能になり、それによってアプリケーションが 10 ~ 50 倍高速化できると言えます。
したがって、将来的にスケーラブルなアプリケーションを構築しようとしている場合、Redis ( または Redis に類似したデータベース ) が不可欠であるということは事実です。
Redis はオープン ソースですか?: はい、Redis は特別な種類のライセンスを持つオープン ソースですが、Snapchat や Memcached の KeyDB などのオープン ソースの代替手段もあります。 KeyDB は Redis のフォークですが、現時点では Linux 上でのみ実行できます。
Redis は Windows をサポートしていますか?: いいえ、Redis は Windows をサポートしていませんが、WSL/Ubuntu をインストールし、
を使用して Redis をインストールできます。
sudo apt install redis
redis-server --port 6000
ここで、6000 は、実行するローカル サーバーのポートです。 (つまり 127.0.0.1:6000)。
ほとんどの問題は、redis-server が使用しているデフォルトのポートがすでに使用されていることが原因です
Linux では、redis のインストールは次のように簡単です。
sudo apt install redisMac の
または :
brew install redis
には ターミナルの 2 つのインスタンス
が必要ですサーバーを実行する最初のサーバー上
redis-server -port
そして 2 番目のクライアントでクライアントを実行します
redis-cli
Web アプリを構築する場合、クライアントを実行する必要はありません ただし、サーバーは実行する必要があります
Redis の概念
redis には理解すべき 3 つの主要な概念があります または 4 つ
他のすべてのデータ構造は主に最初のデータ構造の高度な実装です
リストとは、リンクされたリストではなく、配列を意味しており、redis ではそれをそう呼んでいます。
キーと値のペアは、ほとんどのプログラミング言語で一般的なデータ構造です。
Python では、辞書または dict 略して
JavaScript では マップ
C# では、Dictionaries
Redis にはキーと値のペアの主な操作が 6 つあります
オペレーション | 説明 | 例 | さらなる説明 |
---|---|---|---|
セット | キーと値のペアを作成します | 名前を設定ジョン | 値にマップするキーを設定します |
得る | キーの値を取得します | 名前を取得 | ジョンが返されます |
デル | キーと値のペアを削除します | DEL名 | これにより、キーと値のペアの名前がデータベースから削除されます |
存在します | キーが Redis データベースに存在するかどうかを確認します | 名前が存在します | True または False に対応する 1 または 0 を返します |
フラッシュ | キャッシュ全体をクリアします | フラッシュ | postgres の DROP TABLE に多かれ少なかれ似ています |
キー * | データベース内のすべてのキーを返します | キー * |
時間ベースの操作もあります。時間ベースの操作では、キーは設定された期間だけキャッシュ内にあり、時間が経過するとキャッシュはキーを削除します。
主要な時間ベースの操作は 2 つあります
オペレーション | 説明 | 例 | さらなる説明 |
---|---|---|---|
期限切れ | 定義後にキーを期限切れにします | 期限切れの名前 10 | 10 秒後にキーと値の名前を削除します。キーは EXPIRE を呼び出す前に SET で定義する必要があります。一般的な代替案は; | です。
セテックス | 定義時にキーを期限切れにします | セテックス 30 15 歳 | キーの有効期間を値 30 に設定し、その後 15 秒後にキーと値のペアを削除します |
TTL | 生存時間 | TTL 年齢 | 年齢キーが削除されるまでの残り時間を返します |
ブログが長くなってしまったので、リスト、セット、ハッシュマップ、そしてredis に関する面接での質問について話します。 ] は別のブログで。
ご質問がございましたら、下にコメントしてください。できる限りお答えいたします。⭐ハッピーコーディング
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3