-
Redis LRANGEコマンドの使い方 – リスト値の全要素を取得する方法を解説
このチュートリアルでは、Redisデータストアに保存されたキーのリスト値から、すべての要素を取得する方法を解説します。そのために使用するのが、RedisのLRANGEコマンドです。 LRANGEコマンドとは LRANGEコマンドは、指定したキーに保存されているリスト値から、指定されたオフセット(範囲)に基づいて1つ以上の要素を返すコマンドです。開始位置(start)と終了位置(end)の2つの引数を受け取り、どちらも範囲に含まれます。 これらのオフセットは0始まりのインデックスで指定します。つまり、「0」が最初の要素、「1」が2番目の要素を意味します。また、負の数を使うことでリストの末尾からの
-
Redisリスト入門:リスト型の値を管理するための主要コマンド一覧
Redisリストとは Redisのリスト(List)は、挿入された順番どおりに並べられた文字列のシーケンスです。Redisでは、このリストをキーに対する値として保存することができます。さらに、さまざまなRedisコマンドを組み合わせることで、データベースに格納されたリスト値の保存・管理・取得を柔軟に行えます。 構文 redis host:post> <Command Name> <key name> 実行例 Redisリスト操作の主なコマンド一覧 Redisデータベース内のリスト値を管理するうえで押さえておきたい重要なコマンドを、以下の表にまとめました。
-
Redis ZCARDコマンドの使い方 – ソート済みセットの要素数を取得する方法
このチュートリアルでは、Redisのコマンド「ZCARD」を使用して、指定したキーに保存されたソート済みセット(Sorted Set)のサイズ(要素数)を取得する方法を解説します。redis-cliにおけるZCARDコマンドの基本構文は以下のとおりです。 構文 redis host:post> ZCARD <key name> 戻り値 (integer) ソート済みセットに含まれる要素数を表す整数値 (integer) 0:指定したキーが存在しない場合 エラー:キーは存在するが、値がソート済みセットではない場合 ZCARDコマンドの計算量はO(1)であるため、セットに大量の要
-
Redis ZRANGEコマンド徹底解説 – ソート済みセットから指定ランク範囲の要素を昇順で取得する方法
このチュートリアルでは、RedisのZRANGEコマンドを使って、スコアが昇順に並んだソート済みセット(Sorted Set)から、指定したランク範囲内の1つまたは複数の要素を取得する方法を詳しく解説します。 ZRANGEコマンドとは ZRANGEコマンドは、指定したキーに保存されているソート済みセットの中から、指定した範囲に含まれる1つ以上の要素を返します。ソート済みセット内の要素はスコアの昇順に並んでおり、同じスコアを持つ要素同士は辞書順(レキシコグラフィカル順)で比較されます。 範囲はstart(開始位置・範囲に含む)とend(終了位置・範囲に含む)のオフセットによって定義されます。これ
-
Redis ZREVRANGEコマンドの使い方|スコア降順で指定ランク範囲のソート済みセット要素を取得する方法
このチュートリアルでは、RedisのZREVRANGEコマンドを使って、スコアの降順で並べられたソート済みセット(Sorted Set)から、指定したランク範囲に該当する1つ以上の要素を取得する方法を解説します。 ZREVRANGEコマンドとは ZREVRANGEコマンドは、指定したキーに保存されたソート済みセットから、指定された範囲に含まれる1つ以上の要素を返します。ソート済みセット内の要素はスコアの降順で並べられており、同一スコアを持つ要素同士は辞書順の降順で比較されます。 範囲はstart(開始位置・含む)とend(終了位置・含む)のオフセットで定義されます。これらのオフセットは0始まり
-
【Redis入門】ZRANK・ZREVRANKコマンドでソートセットの要素のランクを取得する方法
このチュートリアルでは、Redisデータストアに格納されたソートセット(Sorted Set)の値から、特定の要素のランク(順位)を取得する方法を、ZRANKコマンドとZREVRANKコマンドを使って解説します。 ZRANKコマンドとは ZRANKコマンドは、指定したキーに格納されているソートセットの中から、対象メンバーのランクを返すコマンドです。ソートセット内の要素はスコアの昇順で並んでおり、スコアが同じ要素同士は辞書順(レキシコグラフィカル順)の昇順で比較されます。 ランクはゼロベースである点に注意してください。つまり、最もスコアが低いメンバーのランクは「0」となります。 要素がソートセ
-
Redis ZREMコマンドの使い方 – ソート済みセットから要素を削除する方法
このチュートリアルでは、Redisに保存されたソート済みセット(Sorted Set)の値から、指定した1つ以上の要素を削除する方法を解説します。この操作には、redis-cli上でZREMコマンドを使用します。 ZREMコマンドは、指定したキーに格納されているソート済みセットから、1つ以上の指定されたメンバーを削除します。ソート済みセット内に存在しないメンバーが指定された場合は、そのメンバーは単純に無視されます。また、キーは存在するものの、そのキーに格納されている値がソート済みセット型ではない場合には、エラーが返されます。 構文 redis host:port> ZREM <ke
-
Redis ZSCOREコマンドの使い方 – ソート済みセットから要素のスコアを取得する方法
このチュートリアルでは、キーに保存されたソート済みセット(sorted set)の値から、特定の要素のスコアを取得する方法を解説します。これには、RedisのZSCOREコマンドを使用します。 ZSCOREコマンドは、指定されたキーに保存されているソート済みセットの中から、指定した要素のスコアを返すためのコマンドです。要素がソート済みセット内に存在しない場合、またはキー自体が存在しない場合にはnilが返されます。一方、キーは存在するものの、そのキーに保存されている値がソート済みセット型ではない場合にはエラーが返されます。 構文 :- redis host:post> ZSCORE &l
-
Redis ZUNIONSTOREコマンド徹底解説 – ソート済みセットの和集合を計算する方法
このチュートリアルでは、Redisに保存された2つ以上のソート済みセット(Sorted Set)に対して、ZUNIONSTOREコマンドを使って和集合(ユニオン)操作を実行する方法を学びます。 セットの和集合とは? 集合論において、2つ以上の集合の和集合とは、それらすべての集合に含まれる要素(重複なし)をすべて持つ集合のことです。例を見てみましょう。 A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9} AとBの和集合: A U B = {1, 2, 3, 4, 5, 6, 7, 8, 9} このように、両方の集合に存在するすべての要素が1つの集合にまとめられ
-
Redis ZINTERSTOREコマンド徹底解説 – ソート済みセットの積集合を求める方法
このチュートリアルでは、Redisデータストアに保存された2つ以上のソート済みセット(ZSET)に対して、ZINTERSTOREコマンドを使って積集合(共通部分)の演算を行う方法を詳しく解説します。 集合の積集合とは? 集合論において、2つ以上の集合の積集合(intersection)とは、すべての集合に共通して含まれる要素だけを集めた集合のことです。以下の例を見てみましょう。 A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9} A と B の積集合: A ∩ B = {4, 5} このように、AとBの両方に存在する「4」と「5」だけが積集合の結果となります
-
【Redis入門】INCRBYFLOATコマンドで浮動小数点値をインクリメントする方法
このチュートリアルでは、Redisデータストア内のキーに保存された「浮動小数点数を表す文字列」の値を、指定した値だけ増加させる方法について解説します。この操作には、RedisのINCRBYFLOATコマンドを使用します。 INCRBYFLOATコマンドとは INCRBYFLOATコマンドは、キーに格納された浮動小数点数を表す文字列の値に対し、指定した増分値を加算するためのコマンドです。主な仕様は以下の通りです。 キーが存在しない場合は、まず新しいキーが作成され、値が0に設定された後にインクリメント操作が実行されます。 キーが存在しても、格納されている値のデータ型が文字列型以外の場合や、倍精度
-
Redis GETBITコマンドの使い方 – 文字列の指定インデックスからビット値を取得する方法
このチュートリアルでは、Redisデータストアに保存されたキーの文字列値から、特定のインデックス位置にあるビット値を取得する方法を解説します。ビット値の取得には、RedisのGETBITコマンドを使用します。 GETBITコマンドとは GETBITコマンドは、キーに保存された文字列値のうち、指定したインデックス(オフセット)位置のビット値(0または1)を返すコマンドです。 このコマンドには以下のような特徴があります。 インデックスが文字列長を超える場合: 文字列は0ビットが連続する領域として扱われるため、結果は常に0が返されます。 キーが存在しない場合: キーが自動的に作成され、空の文字列が
-
Redis SETBITコマンドの使い方 – 文字列の指定したインデックスにビット値を設定する方法
このチュートリアルでは、Redisデータストアに保存されたキーの文字列値に対して、指定したインデックス(オフセット)位置にビット値を設定する方法を解説します。この操作には、RedisのSETBITコマンドを使用します。 SETBITコマンドとは SETBITコマンドは、キーに格納された文字列値の指定したインデックス位置にビット値(0または1)を設定します。指定したインデックスが現在の文字列の長さを超えている場合、その文字列は0ビットで埋められた連続領域として扱われます。 また、キーが存在しない場合は、まず空の文字列で新しく作成されます。そのため、インデックスは必ず範囲外となり、該当位置には0
-
【Redis入門】LPUSH・LPUSHXコマンドでリストの先頭に要素を追加する方法
このチュートリアルでは、Redisデータストア内のキーに保存されたリスト値の先頭に、1つまたは複数の要素を挿入する方法について解説します。そのために使用するのが、Redisの LPUSH コマンドと LPUSHX コマンドです。 LPUSHコマンドとは LPUSHコマンドは、キーに保存されたリスト値の先頭(左端)に、指定した1つ以上の要素を挿入するために使用します。要素は左側のものから順に、リストの先頭へ次々と追加されていきます。たとえば、LPUSH list a b c というコマンドを実行した場合、リストには1番目に c、2番目に b、3番目に a が格納される点に注意してください。 キー
-
RedisのRPUSH・RPUSHXコマンドでリストの末尾に要素を追加する方法
このチュートリアルでは、Redisデータストア内のキーに格納されたリスト値の末尾に、1つまたは複数の要素を挿入する方法について解説します。この目的のために、RedisのRPUSHコマンドとRPUSHXコマンドを使用します。 RPUSHコマンドとは RPUSHコマンドは、キーに格納されたリスト値の末尾に対して、指定した1つ以上の要素を挿入するために使用されます。要素は、引数の左端から右端へと順番に処理され、リストの末尾へ次々と追加されていきます。例えば、RPUSH list a b cというコマンドを実行すると、リストには1番目の要素としてa、2番目の要素としてb、3番目の要素としてcがこの順序
-
【Redis入門】LPOP・BLPOPコマンドでリストの先頭要素を削除して取得する方法
このチュートリアルでは、Redisデータストア内のキーに保存されたリスト値の先頭(最初)の要素を削除して取得する方法を解説します。そのために、RedisのLPOPコマンドとBLPOPコマンドを使用します。 LPOPコマンドとは LPOPコマンドは、指定されたキーに格納されているリスト値の先頭要素を削除し、その要素を返します。キーが存在しない場合はnilが返され、キーは存在するものの格納されている値がリスト型でない場合にはエラーが返されます。Redis LPOPコマンドの構文は以下のとおりです。 構文 redis host:post> LPOP <keyname> 戻り値 -
-
Redisでリストの最後の要素を削除して取得する方法 – RPOP / BRPOPコマンド徹底解説
このチュートリアルでは、Redisデータストアに保存されたリスト型の値から、最後の要素を削除しつつ取り出す(ポップする)方法を学びます。この操作には、RedisのRPOPコマンドとBRPOPコマンドを使用します。 RPOPコマンドとは RPOPは、指定したキーに格納されているリストの末尾(最後)の要素を削除し、その値を返すコマンドです。 キーが存在しない場合は (nil) が返されます。 キーは存在するが、格納されている値がリスト型ではない場合はエラーが返されます。 基本構文 redis host:post> RPOP <keyname> 戻り値 - (string) リ
-
Redis LREMコマンドの使い方|リストから要素を1つまたは複数削除する方法
このチュートリアルでは、キーに保存されたリスト値から、特定の要素を1つまたは複数削除する方法を解説します。そのために使用するのが、RedisのLREMコマンドです。 LREMコマンドとは LREMコマンドは、キーに格納されたリストから、指定した要素の出現箇所をcount引数で指定した回数だけ削除します。引数countの値によって、削除の動作は以下のように変化します。 count > 0 の場合:先頭(head)から末尾(tail)に向かって、指定した要素をcount個削除します。 count < 0 の場合:末尾(tail)から先頭(head)に向かって、指定した要素をcount
-
Redis LTRIM – Redisデータストアに保存された既存のリストをトリミングする方法
このチュートリアルでは、Redisデータストア内のキーに保存された既存のリスト値をトリミング(切り詰め)する方法を学びます。この操作には、RedisのLTRIMコマンドを使用します。 LTRIMコマンドとは LTRIMコマンドは、既存のリスト値を、指定した範囲の要素だけが残るように切り詰めるコマンドです。範囲はstart(開始位置・含む)とend(終了位置・含む)のオフセットによって定義され、リストのどの部分を残すかを決定します。 インデックスは0始まりです。つまり、0が最初の要素、1が2番目の要素というように数えます。また、負の数を使用すると、リストの末尾から数えたオフセットを指定できます。
-
【Redis入門】RPOPLPUSH・BRPOPLPUSHコマンドでリスト間に要素を移動する方法
このチュートリアルでは、Redisデータストアにおいて、あるキーに保存されたリストの末尾から要素を取り出して返し、その要素を別のキーに保存されたリストの先頭に挿入する方法を解説します。この操作には、RedisのRPOPLPUSHおよびBRPOPLPUSHコマンドを使用します。 RPOPLPUSHコマンドとは RPOPLPUSHコマンドは、ソースキーに格納されたリストの末尾(テール)から要素を取り出して返し、その同じ要素を宛先キーに格納されたリストの先頭(ヘッド)に挿入します。 ソースキーが存在しない場合: nilが返され、何も操作は行われません。 宛先キーが存在しない場合: 挿入操作を実行す