Redisの5つの一般的なデータ型
4086 ワード
string
文字列共通アクション1.文字列キー値ペア
原子加減1.keyに格納数値を
単一キャッシュSET key value GET key
オブジェクトキャッシュ1.SET user:1 value(json形式データ)2.MSET user:1:name test user:1:balance 10086
ぶんさんロック
カウンタINCR article:readcount:{記事id}GET article:readcount:{記事id}
Webクラスタセッション共有springセッション+redis実装セッション共有
分散システムグローバルシリアル番号
hash
hash常用操作1.ハッシュテーブルkeyのキー値
オブジェクトキャッシュ(map類似)
List常用操作1.keyリストのヘッダー(左端)
set
set常用操作1.集合keyに要素を格納し、要素が存在する場合は無視し、keyが存在しない場合はSADD key member[member...]を新規作成します.2.集合キーから要素SREMkeyメンバーを削除[member...]3.セットキー内の全ての要素SMEMBERSキーを取得する4.コレクションkeyの要素数SCARD key 5を取得する.集合keyにおいて、メンバー要素がSISMEMBER keyメンバー6に存在するか否かを判定する.集合keyからcount個の要素を選択し、keyからSRANDMEMBER keyを削除しない[count]7.集合keyからcount個の要素を選択し、要素はkeyからSPOP keyを削除しない[count]set演算操作1.交差演算SINTER[key...]2.交差結果を新しい集合destinationのSINTERSTORE destination keyに格納する[key...]3.並列演算SUION key[key...]4.統合結果を新しい集合destinationのSUIONSTORE destination keyに格納する[key...]5.差分演算SDIFF key[key...]6.差分セット結果を新規セットdestinationに格納するSDIFSTORE desationkey[key...]
sorted Set(zSet)
秩序化された集合(
1.1つ以上のメンバーを順序セットに追加するか、既存のメンバーのスコアを更新します.
ZADD key score1 member1 [score2 member2] 2.インデックス区間によって指定された区間内のメンバーZRANGE key start stop[WITHSCORES]を返す
3.1つまたは複数のメンバーを削除
ZREM key member [member ...]
4.指定した区間内のメンバーをスコアで返す
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
5.指定したメンバーの索引を返す
ZRANK key member、ここでmemberはscore値で増加する(⼩から大へ)
文字列共通アクション1.文字列キー値ペア
SET key value
に格納.一括記憶文字列キー値対 MSET key value [key value ...]
.文字列キー値 GET key
を取得する.文字列キー値 MGET key [key ...]
を一括取得する.1つのキー DEL key [key ...]
を削除する.キーの有効期限(秒) EXPIRE key seconds
を設定します.原子加減1.keyに格納数値を
INCR key
.keyに格納デジタル値を DECR key
.keyに格納値にincrement INCRBY key increment
を加算.keyが格納する値からdecrement DECRBY key decrement
を減算する.単一キャッシュSET key value GET key
オブジェクトキャッシュ1.SET user:1 value(json形式データ)2.MSET user:1:name test user:1:balance 10086
MGET user:1:name user:1:balance
ぶんさんロック
SETNX product:10001 true // 1
SETNX product:10001 true // 0
....
DEL product:10001 //
SET product:10001 true ex 10 nx //
カウンタINCR article:readcount:{記事id}GET article:readcount:{記事id}
Webクラスタセッション共有springセッション+redis実装セッション共有
分散システムグローバルシリアル番号
//redis
INCRBY orderId 1000
hash
hash常用操作1.ハッシュテーブルkeyのキー値
HSET key field value
を格納.存在しないハッシュテーブルkeyのキー値HSETNX key field value
を取得する.1つのハッシュテーブルkeyに複数のキー値対HMSET key field value [field value ...]
が格納.ハッシュテーブルkeyに対応するfieldキー値HGET key field
を取得する.ハッシュテーブルkeyの複数のfieldキー値HMGET key field [field ...]
を一括取得する.ハッシュテーブルkeyのfieldキー値HDEL key field [field ..]
を削除する.ハッシュテーブルkeyのfield数HLEN key
を返す.ハッシュテーブルkeyのすべてのキー値HGETALL key
を返す.ハッシュテーブルkeyのfieldキーの値にインクリメンタルincrement HINCRBY key field increment
を加算オブジェクトキャッシュ(map類似)
HMSET user {userId}:name test {userId}:age 10
HMGET user 1:name 1:age
list List常用操作1.keyリストのヘッダー(左端)
LPUSH key value [value ...]
に1つ以上の値valueを挿入する.keyリストのテーブルの末尾(右端)RPUSH key value [value ...]
に1つ以上の値valueを挿入する.keyリストのヘッダ要素LPOP key
を除去して返す.keyリストの末尾ヘッダ要素RPOP key
を除去して返す.リストkeyで指定する区間内の要素を返し、区間はオフセット量startとstopでLRANGE key start stop
6を指定する.keyリストのヘッダーから要素がポップアップされ、リストに要素がない場合、ブロックはtimeout秒を待ち、timeout=0の場合、BLPOP key [key ...] timeout
.keyリストの表の最後から1つの要素がポップアップされ、リストに要素がない場合、ブロック待ちtimeout秒、timeout=0の場合、ずっとブロック待ちBRPOP key [key ...] timeout
set
set常用操作1.集合keyに要素を格納し、要素が存在する場合は無視し、keyが存在しない場合はSADD key member[member...]を新規作成します.2.集合キーから要素SREMkeyメンバーを削除[member...]3.セットキー内の全ての要素SMEMBERSキーを取得する4.コレクションkeyの要素数SCARD key 5を取得する.集合keyにおいて、メンバー要素がSISMEMBER keyメンバー6に存在するか否かを判定する.集合keyからcount個の要素を選択し、keyからSRANDMEMBER keyを削除しない[count]7.集合keyからcount個の要素を選択し、要素はkeyからSPOP keyを削除しない[count]set演算操作1.交差演算SINTER[key...]2.交差結果を新しい集合destinationのSINTERSTORE destination keyに格納する[key...]3.並列演算SUION key[key...]4.統合結果を新しい集合destinationのSUIONSTORE destination keyに格納する[key...]5.差分演算SDIFF key[key...]6.差分セット結果を新規セットdestinationに格納するSDIFSTORE desationkey[key...]
sorted Set(zSet)
秩序化された集合(
sorted set
)および集合(set
)は、重複するメンバーを許さない.異なるのは、各要素がdoubleタイプのスコアを関連付けていることです.redisは、集合内のメンバーを点数で小さいものから大きいものに並べ替える.秩序化された集合のメンバーは一意であるが、スコア(score
)は繰り返すことができる.zSet
のapiはSet
のapiとほぼ同じである.1.1つ以上のメンバーを順序セットに追加するか、既存のメンバーのスコアを更新します.
ZADD key score1 member1 [score2 member2] 2.インデックス区間によって指定された区間内のメンバーZRANGE key start stop[WITHSCORES]を返す
3.1つまたは複数のメンバーを削除
ZREM key member [member ...]
4.指定した区間内のメンバーをスコアで返す
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
5.指定したメンバーの索引を返す
ZRANK key member、ここでmemberはscore値で増加する(⼩から大へ)