レディス は、データがキーと値のペアで保存される NOSQL データベースです。
レディス はデータをメイン メモリに保存します。つまり、データをディスクに保存する PostgreSQL のようなデータベース システムとは異なり、高速ですが揮発性です。
サーバーとデータベースを備えたアプリケーションでは、データベース上の情報にアクセスすると遅延が発生します。
redis のような Key-Value データベースはこれらのデータベースの前に置かれることが多く、アクセス操作には 2 つの手順が必要です。
これらの 2 つの手順と、メイン メモリのレイテンシーがディスクよりも低いことを考慮すると、レディス を使用して頻繁に最近のデータや高価な操作を保存およびアクセスできるため、アプリケーションが 10 ~ 50 倍高速化できると言えます。
したがって、将来的にスケーラブルなアプリケーションを構築しようとしている場合、レディス (または レディス に類似したデータベース) が不可欠であるということは事実です。
レディス はオープン ソースですか?: はい、レディス は特別な種類のライセンスを持つオープン ソースですが、Snapchat や Memcached の KeyDB などのオープン ソースの代替手段もあります。 KeyDB は レディス のフォークですが、現時点では Linux 上でのみ実行できます。
レディス は Windows をサポートしていますか?: いいえ、レディス は Windows をサポートしませんが、WSL/Ubuntu をインストールし、
を使用して レディス をインストールできます。
sudo apt install redis
redis-server --port 6000
ここで、6000 は、実行するローカル サーバーのポートです。 (つまり 127.0.0.1:6000)。
ほとんどの問題は、redis-server が使用しているデフォルトのポートがすでに使用されていることが原因です
Linux では、redis のインストールは次のように簡単です
sudo apt install redis
または :
brew install redis
には ターミナルの 2 つのインスタンス
が必要ですサーバーを実行する最初のサーバーで
redis-server -port <portnumber> </portnumber>
2 番目ではクライアントを実行します
redis-cli
Web アプリを構築する場合、クライアントを実行する必要はありませんが、サーバーは実行されている必要があります
レディス の概念
レディス には理解すべき 3 つの主要な概念があります または 4 つ
他のすべてのデータ構造は主に最初のデータ構造の高度な実装です
リストとは、リンクリストではなく、配列を意味しており、redis はそれをそう呼んでいます。
キーと値のペアは、ほとんどのプログラミング言語で一般的なデータ構造です。
Python では、辞書または略して dict と呼ばれます
JavaScript では、マップ
C# では、Dictionaries
レディス のキーと値のペアには 6 つの主な操作があります
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
SET | Creates a key-value pair | SET name John | Sets key to map to value |
GET | Gets value for key | GET name | This returns John |
DEL | Deletes the key value pair | DEL name | This removesthe key value pair name from the database |
EXISTS | Checks if a key exists in the redis database | EXISTS name | returns 1 or 0 corresponding to True or False |
FLUSHALL | Clears the entire cache | FLUSHALL | more or less like DROP TABLE in postgres |
KEYS * | Returns all the keys in the database | KEYS * |
時間ベースの操作もあります。時間ベースの操作では、キーは設定された期間だけキャッシュ内にあり、時間が経過するとキャッシュによってキーが削除されます。
主に 2 つの時間ベースの操作があります
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
EXPIRE | Expires a key after being defined | EXPIRE name 10 | Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is; |
SETEX | Expires a key upon definition | SETEX age 30 15 | Sets the key age to value 30 and thereafter deleted the key-value pair after 15s |
TTL | Time To Live | TTL age | Returns the time remaining before deletion of the age key |
ブログが長くなってしまったので、リスト、セット、ハッシュマップ、そして redis に関する面接での質問についてお話します 別のブログで。
ご質問がございましたら、以下にコメントしてください。できる限りお答えいたします。⭐ハッピーコーディング
以上がレディスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。