オープン ソース (BSD ライセンス) インメモリ データ構造ストレージ システムである Redis は、データベース、キャッシュ、およびメッセージ ミドルウェアとして使用できます。文字列、ハッシュ、リスト、セット、ソートされたセット、範囲クエリ、ビットマップ、ハイパーログログ、地理空間 (地理空間) インデックス半径クエリなど、多くのタイプのデータ構造をサポートします。
Redis には、レプリケーション、LUA スクリプト、LRU エビクション、トランザクション、さまざまなレベルのディスク永続性が組み込まれており、Redis Sentinel ) と自動パーティショニング (クラスター) によって高可用性が提供されます。
Redis はメモリ操作に基づいています。CPU は Redis のパフォーマンスのボトルネックではありません。ボトルネックはマシンのメモリとネットワーク帯域幅に依存するため、シングルスレッドですこれを実装するには、単一のスレッドを使用するだけです。
では、なぜ単一スレッドでこれほど高速なのでしょうか?
まず第一に、明確にしておく必要がある誤解が 2 つあります。
高性能サーバーは必ずしもマルチスレッドであるとは限りません。
マルチスレッドは、必ずしもシングルスレッドより効率的であるとは限りません。
Redis はすべてのデータをメモリに配置します。複数のスレッドがある場合、CPU のコンテキストの切り替えが発生し、消費時間が増加します。メモリ システムの場合、コンテキストの切り替えはありません。 . シングルスレッドの操作効率が最も高くなります。
Redis にはデフォルトで 16 のデータベースがあり、デフォルトで使用されるのは最初のデータベース (添字 0) です。 database 16
を含む構成ファイルを確認できます。
3
を選択して 4 番目のデータベースに切り替えます。
dbsize
現在のデータベースサイズを確認できます。
このとき、データベースに値を設定し、再度データベースのサイズを確認すると変更されます。
現在のデータベースをクリアします
flushdb
すべてのデータベースをクリアします
flushall
set name pingguo222
すべてのキーを表示できます。ここでデフォルトのデータベースに戻り、すべてのキーを表示します。
keys *
get name
exists name
存在する場合は 1 を返し、存在しない場合は 0 を返します。
MOVE コマンドは、現在のデータベースのキーを指定されたデータベース db に移動します。
move name 0
たとえば、現在データベース 3 にいると仮定すると、「name」という名前のコンテンツをデータベース 0 に移動するコマンドを実行するとします。成功した場合は 1 を返し、失敗した場合は 0 を返します。
10 秒後に有効期限が切れるように設定しました。10 秒後に再度取得すると、価値。
expire age 10
名前の有効期限を 100 秒に設定し、ttl を使用して確認します。
ttl name
type name
実際には多くのコマンドがあり、redis 公式 Web サイトで提供されています。クエリ コマンド 後で何が起こるかわからない場合は、調べてください。
以上がRedis を始めるための一般的な操作コマンドの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。