ホームページ  >  記事  >  データベース  >  Redis にはデフォルトの DB がいくつありますか?

Redis にはデフォルトの DB がいくつありますか?

anonymity
anonymityオリジナル
2019-06-04 17:15:333796ブラウズ

Redis は複数のデータベースをサポートしており、各データベースのデータは分離されており、共有することはできず、単一のマシン上でのみ利用可能です。クラスターの場合、データベースの概念はありません。

Redis にはデフォルトの DB がいくつありますか?

Redis は辞書構造のストレージ サーバーです。実際、Redis インスタンスはデータを保存するための複数の辞書を提供します。クライアントはデータの保存場所を指定できます。辞書内。これは、リレーショナル データベース インスタンス内に複数のデータベースを作成できるというよく知られた事実と似ており、各辞書は独立したデータベースとして理解できます。

各データベースは、0 から始まる増加する番号で外部名が付けられます。Redis はデフォルトで 16 のデータベースをサポートします (構成ファイルを通じてさらに多くのデータベースをサポートでき、上限はありません)。この数はデータベースを構成することで変更できます。クライアントが Redis との接続を確立すると、データベース No. 0 が自動的に選択されますが、SELECT コマンドを使用していつでもデータベースを変更できます。データベース No. 1 を選択する場合:

redis> SELECT 1
OK
redis [1] > GET foo
(nil)

ただし、これらの数字で名前が付けられたデータベースは、私たちが理解しているデータベースとは異なります。まず、Redis はカスタム データベース名をサポートしていません。各データベースは番号に基づいて名前が付けられます。開発者は、どのデータベースにどのデータが保存されているかを記録する必要があります。さらに、Redis はデータベースごとに異なるアクセス パスワードの設定をサポートしていないため、クライアントはすべてのデータベースにアクセスするか、1 つのデータベースにさえアクセスする権限を持たない可能性があります。最も重要な点は、複数のデータベースが完全に分離されていないことです。たとえば、FLUSHALL コマンドを使用すると、Redis インスタンス内のすべてのデータベースのデータをクリアできます。要約すると、これらのデータベースは名前空間に似ており、さまざまなアプリケーションからのデータを保存するのには適していません。たとえば、アプリケーションの本番環境ではデータベース 0 にデータを格納し、テスト環境ではデータベース 1 にデータを格納することができますが、データベース 0 にアプリケーションのデータを格納するのは適切ではありません。アプリケーション A のデータを格納し、アプリケーション B のデータを格納するデータベース No. 1 は異なります。アプリケーションはデータを格納するために異なる Redis インスタンスを使用する必要があります。 Redis は非常に軽量であるため、空の Redis インスタンスは約 1M しか占有しないため、複数の Redis インスタンスが大量の追加メモリを占有することを心配する必要はありません。

以上がRedis にはデフォルトの DB がいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。