Redisの5つの一般的なデータ型

4086 ワード

string
文字列共通アクション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値で増加する(⼩から大へ)