redis基本データ型の一般的な操作
4476 ワード
redisはnosql(not only sql)データベースであり、nosqlデータベースとリレーショナルデータベースの違いおよびアプリケーションシーンについてはここでは後述しない.
redisの小さな知識単一プロセスモデル:読み書きなどのイベントに対する応答はepoll関数のパッケージによって行われる. デフォルト16データベーススライス、下付き0から、初期デフォルトは0番ライブラリを使用し、各ライブラリ間は互いに隔離され、move key db_を使用できます.indexはkeyの移動を完了します. dbsize現在のライブラリのすべてのkey数を表示し、flushdbは現在のライブラリkeyを空にし、flushallはすべてのライブラリkeyを空にします. パスワード管理を統合します.つまり、すべてのライブラリで同じパスワードが使用されます. 関連keyの操作:
Stringタイプ redisのstringタイプはバイナリセキュリティであり、すなわち、ピクチャやシーケンス化されたオブジェクトなどの任意のデータを含んでもよい.1文字列のvalueは最大521 Mデータ を収容できる.共通操作: である.
Listタイプ ListタイプはjavaのListチェーンテーブルに似た単一値マルチvalueですが、双方向リストであり、両方を挿入でき、効率が非常に高いです. 共通操作: を取得
Setタイプ共通操作:
Hashタイプ小記key-valueモードは変わらないが、valueはキー値ペアである. 共通操作:
Zsetタイプ共通操作:
redisの小さな知識
keys *
は現在のライブラリのすべてのkey値を表示し、expire key seconds
はkeyの期限切れ時間を設定し、ttl key
はkeyがあと何秒で期限切れになるか(-1は期限切れ、-2は期限切れになる)、type key
はkeyのタイプを表示します.Stringタイプ
set
設定値;get
key対応値を取得する.del
削除key;append
key対応valueを追加します.strlen
key対応value長を取得します.incr key
は1で増加する.decr key
は1で減少します.incrby key num
は指定された数値で増加する.decriby key num
は、指定された数値で減算されます.getrange key start end
指定区間の値を取得する.setrange key start new_value
は、セットトップ区間の範囲の値を設定し、新しい値の長さの新しい値を最初から下付きで置き換えます.setex key seconds value
設定時にタイムアウト時間を指定します.setnx key value
存在しない場合は値を設定、存在する場合は無効mset key1 val1 key2 val2 ...
ロット設定値;mget key1 key2 ...
ロット取得;msetnx key1 val1 key2 val2 ...
存在しない場合、このコマンドは有効になりません.Listタイプ
lpush key val1 val2 ...
はlistを設置し、左側から挿入し、対応する右側にrpush
が挿入され、この特性を利用してlistをスタックとして使用することができる.lrange key start end
はlistを巡回し、インデックスは負の逆をサポートします.lpop key
は、左から要素を除去して戻り、rpop
に対応する.lindex key index
インデックスの下のラベルに従って要素を取得します.llen key
リスト長lrem key num value
指定された数のvalue値の要素を削除します.ltrim key start end
は、指定された範囲内の要素リスト(境界が含まれている)を切り取り、keyに値を付与する.rpoplpush key1 key2
ソースリストの要素をスタックし、ターゲットリストにスタックする.lset key index value
リスト指定位置の値を置換する.linsert key before/after value new_value
指定リストの指定valueの前/後に新しい値を挿入します.Setタイプ
sadd key val1 val2 ...
setに要素を挿入し、繰り返すと自動的に削除されます.smembers key
setのすべての要素を取得します.sismember key value
指定valueがset要素であるか否かを判断し、1が0であるか否かを判断する.scard key
set中の要素の個数を取得する.srem key value
指定された要素を削除します.srandmember key num
setで指定された個数の要素をランダムに取得する.spop key
ランダムにスタックを出ます.smove key1 key2
key 1のいずれかの値がkey 2に移動します.sdiff key1 key2
key 1のkey 2に対する差セットを求める(key 1のみでkey 2には含まれない).sinter key1 key2
両者の交わりを求める(両者とも存在する).sunion key1 key2
は両者の並列集合を求める.Hashタイプ
hset key field val
はhashオブジェクト属性に値を付与する.hget key field
hashオブジェクト指定属性の値を取得する.対応するバッチ動作はhmset key field1 val1 field2 val2 ...
およびhmget key field field2 ...
である.hgetall key
hashオブジェクトのすべてのキー値ペアを取得する.hdel key field
hashオブジェクト指定属性を削除する.hlen key
hashオブジェクトの属性個数を取得する.hexists key field
指定属性名が存在するか否かを判断する.hkeys key
hashオブジェクトのすべての属性名を取得する.hvals key
は、すべての属性に対応する値を取得する.hincrby key field num
指定属性に対応する値をインクリメント操作し、hincrbyfloat key field num
浮動小数点数をインクリメントする.hsetnx key field value
が存在しない場合に属性を追加します.Zsetタイプ
zadd key score1 element1 ...
添加元素(帯分数);zrange key start end
はすべてのzset要素を取得し、zrange key start end withscores
はzsetのすべての要素を取得し、対応するzrevrange
は大きいから小さいまで点数を示した.zrangebyscore key (start_score (end_score *limit start num*
は指定された点数範囲の要素を取得し、括弧は含まないことを示し、limitは結果の中で指定された下付き記号から指定された個数の要素を切り取り、対応するzrevrangebyscore
は大きいから小さいまでである.zrem key element
指定要素を削除する.zcard key
element要素の個数を取得する.zcount key start_score end_score
は、指定されたスコア範囲内の要素の個数を統計する.zrank key element
は、点数が低い順から高い順に指定要素の順位を取得し(0から)、zrevrank key element
は点数が高い順から低い順に指定要素の順位を取得する(0から).zscore key element
は、指定された要素のスコア値を取得する.