Redis-cli共通コマンドとインスタンス

62806 ワード

  • 1. 文字列関連アクション
  • 1. 設定値(set key value)
  • 2. 取得値(get key),削除(del key)
  • 3. 存在しない場合にのみ設定されます.そうでない場合は0(setnx key value)
  • を返します.
  • 4. 有効期間の設定
  • 5. 文字列置換(setrange key offset value)
  • 6. 一度に複数の値を設定(mset key value[key value...])
  • 7. 取得後設定(getset key value)
  • 8. 値の増加または減少(incr key,decr key)
  • 9. 長さの増加または減少の指定(incrby key increment,decrby key increment)
  • 10. 文字列追加(append key value)
  • 11. 取得文字列長(strlen key)
  • 2. Hashタイプ
  • 1. 設定または値(hset key field value,hget key field)
  • 2. バッチ設定または取得(hmset,hmget)
  • 3. 存在しない場合のみ設定(hsetnx key field value)
  • 4. hashにkeyが存在するか否かを判断する(hexists key field)
  • 5. 集合増分(hincrby)
  • 6. 集合field個数(hlen),(hkeys)はhash中のすべてのfield
  • を返す
  • 7. 削除hash指定field(hdel)
  • 8. hashのすべての値(hvals key)
  • を取得
  • 9. 取得hash中keyとvalue(hgetall key)
  • 3. Listタイプ操作
  • 1. lpush左端追加、スタック先進後出
  • に相当
  • 2. rpush右端追加、キュー末尾に要素を追加
  • に相当
  • 3. 挿入要素(linsert key before|after pivot value)
  • 4. 下付き要素置換の指定(lset key index value)
  • 5. 要素の削除(lrem key count value)
  • 6. 指定範囲内のデータを保持(rtrim key start stop)
  • 7. lpop左から要素
  • をポップアップ
  • 8. rpopが右端から要素をポップアップ
  • 9 rpoplpush右端ポップアップ左端追加
  • 10. lindexは、リスト内のindexインデックスの要素
  • を返します.
  • 11. llenはList中の要素の個数
  • を返す
  • 4. SetとZSetの集合
  • 1. 要素を追加(sadd key member[member...])
  • 2. 削除要素(srem key member[member...])
  • 3. spopランダムポップアップ要素(spop key)
  • 4. 異なる要素を集合し、前のものが標準(sdiff key key...)
  • 5. sdiffstoreは、返された異なる要素を新しいセットに格納します
  • 6. 集合交差を取る(sinter key[key...])
  • 7. 集合取並集(sunion key[key...])
  • 8. 移動セット内の要素(smove source destination member)
  • 9. コレクション内の要素数の表示(scard key)
  • 10. 集合に要素(sismember key member)
  • が含まれているかどうか
  • 11. ランダムにsetの要素(srandmember key count)
  • を返します.
  • 12. ZSet追加要素
  • 13. Zset削除要素(zrem key member[member...])
  • 14. 自動増分または減少(zincrby key increment member)
  • 15. 検索スコア区間範囲(zrangebyscore)
  • 16. インデックス番号範囲による削除(zremrangebyrank)
  • 17. スコア範囲による削除(zremrangebyscore)
  • 18. Zset要素インデックス番号(zrankkey member)
  • を返します.
  • 19. スコア範囲による検索(zrangebyscore)
  • 20. Zset要素個数(zcard key)
  • 21. Zsetスコア指定範囲要素個数(zcount key min max)
  • 22. インデックス範囲による削除(zremrangebyrankkey start stop)


  • 1.文字列関連アクション
    1.設定値(set key value)
    # set key value [EX seconds] [PX milliseconds] [NX|XX]
    127.0.0.1:6379> set name test1
    OK

    2.取得値(get key)、削除(del key)
    # get key
    127.0.0.1:6379> get name
    "test1"

    3.存在しない場合に設定します.そうでない場合は0(setnx key value)を返します.
    # setnx key value
    127.0.0.1:6379> setnx name test2
    (integer) 0

    4.有効期間の設定(setex key seconds value)
    # setex key seconds value
    127.0.0.1:6379> setex test1 10 test1
    OK

    5.文字列置換(setrange key offset value)
    # setrange key offset value
    
    127.0.0.1:6379> set email 123456789@qq.com
    OK
    127.0.0.1:6379> setrange email 10 ww
    (integer) 16
    127.0.0.1:6379> get email
    "[email protected]"

    6.一度に複数の値を設定する(mset key value[key value...])
    # mset key value [key value ...]
    127.0.0.1:6379> mset test1 test1 test2 test2 test3 test3
    OK
    # mget key [key...]
    127.0.0.1:6379> mget test1 test2 test3
    1) "test1"
    2) "test2"
    3) "test3"

    7.取得後の設定(getset key value)
    # getset key value
    
    127.0.0.1:6379> getset test1 test@1
    "test1"
    127.0.0.1:6379> get test1
    "test@1"

    8.ある値を増減する(incr key,decr key)
    127.0.0.1:6379> set index 1
    OK
    127.0.0.1:6379> incr index
    (integer) 2
    127.0.0.1:6379> decr index
    (integer) 1

    9.長さの増加または減少を指定します(incrby key increment,decrby key increment)
    127.0.0.1:6379> incrby index 3
    (integer) 4
    127.0.0.1:6379> decrby index 2
    (integer) 2

    10.文字列追加(append key value)
    127.0.0.1:6379> get name
    "test1"
    # append key value
    127.0.0.1:6379> append name test
    (integer) 9
    127.0.0.1:6379> get name
    "test1test"

    11.文字列長の取得(strlen key)
    127.0.0.1:6379> get name
    "test1test"
    127.0.0.1:6379> strlen name
    (integer) 9

    2.Hashタイプ
    1.設定または値(hset key field value,hget key field)
    # hset key field value
    127.0.0.1:6379> hset user id 1
    (integer) 1
    127.0.0.1:6379> hset user name zhangsan
    (integer) 1
    127.0.0.1:6379> hset user age 18
    (integer) 1
    # hget key field
    #   ,         hash  field
    127.0.0.1:6379> hget user
    (error) ERR wrong number of arguments for 'hget' command
    127.0.0.1:6379> hget user name
    "zhangsan"
    127.0.0.1:6379> hget user id
    "1"
    127.0.0.1:6379> hget user age
    "18"
    

    2.一括設定または取得(hmset,hmget)
    # hmset key field value [field value ...]
    127.0.0.1:6379> hmset user1 id 10 name lisi age 18
    OK
    #          field
    127.0.0.1:6379> hmget user1
    (error) ERR wrong number of arguments for 'hmget' command
    # hmget  key field [field ...]
    127.0.0.1:6379> hmget user1 id name age
    1) "10"
    2) "lisi"
    3) "18"
    

    3.存在しない場合のみ設定(hsetnx key field value)
    127.0.0.1:6379> hmget user id age name
    1) "1"
    2) "18"
    3) "zhangsan"
    # user     id,     0    
    127.0.0.1:6379> hsetnx user id 2
    (integer) 0
    127.0.0.1:6379> hmget user id age name
    1) "1"
    2) "18"
    3) "zhangsan"
    # user    sex,  1    
    127.0.0.1:6379> hsetnx user sex 1
    (integer) 1
    127.0.0.1:6379> hmget user id age name sex
    1) "1"
    2) "18"
    3) "zhangsan"
    4) "1"
    

    4.hashにkeyが存在するか否かを判断する(hexists key field)
    #     1,     0
    127.0.0.1:6379> hexists user id
    (integer) 1
    127.0.0.1:6379> hexists user score
    (integer) 0

    5.集合増分(hincrby)
    # hincrby key field increment
    127.0.0.1:6379> hget user id
    "2"
    127.0.0.1:6379> hincrby user id 1
    (integer) 3
    127.0.0.1:6379> hget user id
    "3"

    6.集合field個数(hlen),(hkeys)はhash中のすべてのfieldを返す
    127.0.0.1:6379> hlen user
    (integer) 4
    127.0.0.1:6379> hkeys user
    1) "id"
    2) "name"
    3) "age"
    4) "sex"
    

    7.hash指定field(hdel)の削除
    
    127.0.0.1:6379> hkeys user
    1) "id"
    2) "name"
    3) "age"
    4) "sex"
    # hdel key field
    127.0.0.1:6379> hdel user sex
    (integer) 1
    127.0.0.1:6379> hkeys user
    1) "id"
    2) "name"
    3) "age"
    

    8.hashのすべての値を取得する(hvals key)
    127.0.0.1:6379> hvals user
    1) "3"
    2) "zhangsan"
    3) "18"

    9.hash中のkeyとvalue(hgetall key)を取得する
    127.0.0.1:6379> hgetall user 
    1) "id"
    2) "3"
    3) "name"
    4) "zhangsan"
    5) "age"
    6) "18"

    3.Listタイプ操作
    リストを用いてキューまたはスタックを実現することができ、横配列と理解することができ、データを左端からリストの下付き文字を左から右へ0,1,2,3...;右から左へ-1,-2,-3,-4...
    1.lpush左端追加、スタック先進後出に相当
    # lpush      list  
    # lpush key value [value...]
    127.0.0.1:6379> lpush list1 hello world
    (integer) 2
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "hello"

    2.rpush右端追加、キューの最後に要素を追加することに相当
    # rpush  List      
    # rpush key value [value...]
    127.0.0.1:6379> rpush list2 hello world
    (integer) 2
    127.0.0.1:6379> lrange list2 0 -1
    1) "hello"
    2) "world"

    3.要素の挿入(linsert key before|after pivot value)
    # linsert key before|after pivot value
    127.0.0.1:6379> linsert list1 before 'hello' test
    (integer) 3
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "test"
    3) "hello"

    4.下付き要素の置換を指定する(lset key index value)
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "test"
    3) "hello"
    127.0.0.1:6379> lset list1 1 test1
    OK
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "test1"
    3) "hello"

    5.要素の削除(lrem key count value)
    count>0 count個を左から右へ削除<0 count個を右から左へ削除=0すべての一致を削除
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "test2"
    3) "world"
    127.0.0.1:6379> lrem list1 1 test2
    (integer) 1
    127.0.0.1:6379> lrange list1 0 -1
    1) "world"
    2) "world"
    

    6.指定範囲内のデータを保持する(rtrim key start stop)
    127.0.0.1:6379> rpush lists i love java hello world
    (integer) 5
    127.0.0.1:6379> lrange lists 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "hello"
    5) "world"
    127.0.0.1:6379> ltrim lists 0 3
    OK
    127.0.0.1:6379> lrange lists 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "hello"

    7.lpop左から要素をポップアップ
    127.0.0.1:6379> lrange lists 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "hello"
    5) "world"
    127.0.0.1:6379> lpop lists
    "i"
    

    8.rpop右端から要素をポップアップ
    127.0.0.1:6379> lrange lists 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "hello"
    5) "world"
    127.0.0.1:6379> lpop lists
    "i"
    127.0.0.1:6379> rpop lists
    "world"

    9 rpoplpush右端ポップアップ左端追加
    127.0.0.1:6379> lrange lists 0 -1
    1) "love"
    2) "java"
    3) "hello"
    # rpoplpush source destination
    127.0.0.1:6379> rpoplpush lists lists
    "hello"
    127.0.0.1:6379> lrange lists 0 -1
    1) "hello"
    2) "love"
    3) "java"

    10.lindexは、リスト内のインデックスがindexの要素を返す
    
    127.0.0.1:6379> lrange lists 0 -1
    1) "java"
    2) "love"
    3) "i"
    127.0.0.1:6379> lindex lists 0
    "java"
    127.0.0.1:6379> lindex lists -1
    "i"
    127.0.0.1:6379> lindex lists -2
    "love"
    127.0.0.1:6379> lindex lists -3
    "java"

    11.llenはListの要素数を返す
    127.0.0.1:6379> lrange lists 0 -1
    1) "java"
    2) "love"
    3) "i"
    
    127.0.0.1:6379> llen lists
    (integer) 3
    

    4.SetとZSetのセット
    set無秩序、Zset秩序;要素は繰り返すことはできません.集合操作の交差、並列、差分セットを行うことができます.
    1.要素の追加(sadd key member[member...])
    127.0.0.1:6379> sadd set1 i love java
    (integer) 3
    127.0.0.1:6379> smembers set1
    1) "love"
    2) "java"
    3) "i"
    

    2.要素の削除(srem key member[member...])
    127.0.0.1:6379> smembers set1
    1) "love"
    2) "java"
    3) "i"
    
    127.0.0.1:6379> srem set1 i love
    (integer) 2
    127.0.0.1:6379> smembers set1
    1) "java"
    

    3.spopランダムポップアップ要素(spop key)
    127.0.0.1:6379> SMEMBERS set1
    1) "love"
    2) "c++"
    3) "i"
    4) "java"
    127.0.0.1:6379> spop set1
    "love"
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"

    4.異なる要素を集合し、前の要素を標準とする(sdiff key key...)
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    127.0.0.1:6379> sdiff set1 set2
    1) "java"
    127.0.0.1:6379> sdiff set2 set1
    1) "love"
    2) "python"

    5.sdiffstoreは、返された異なる要素を新しいセットに格納する
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    
    127.0.0.1:6379> sdiffstore set3 set2 set1
    (integer) 2
    127.0.0.1:6379> smembers set3
    1) "love"
    2) "python"
    

    6.集合交差を取る(sinter key[key...])
    sinterstoreは交差を取り、新しいsetに存在します.
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    127.0.0.1:6379> sinter set1 set2
    1) "c++"
    2) "i"
    

    7.集合並列化(sunion key[key...])
    sunionstoreは、新しいsetに並べて格納されます.
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    
    127.0.0.1:6379> sunion set1 set2
    1) "love"
    2) "c++"
    3) "i"
    4) "python"
    5) "java"

    8.移動集合内の要素(smove source destination member)
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    3) "java"
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    
    127.0.0.1:6379> smove set1 set2 java
    (integer) 1
    
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    5) "java"
    

    9.コレクション内の要素数の表示(scard key)
    127.0.0.1:6379> smembers set1
    1) "c++"
    2) "i"
    127.0.0.1:6379> scard set1
    (integer) 2
    

    10.集合に要素が含まれているかどうか(sismember key member)
    127.0.0.1:6379> smembers set2
    1) "python"
    2) "love"
    3) "c++"
    4) "i"
    5) "java"
    127.0.0.1:6379> sismember set2 i
    (integer) 1
    127.0.0.1:6379> sismember set2 c
    (integer) 0
    

    11.setの要素をランダムに返す(srandmember key count)
    127.0.0.1:6379> smembers set2
    1) "love"
    2) "i"
    3) "c++"
    4) "python"
    5) "java"
    127.0.0.1:6379> srandmember set2 2
    1) "i"
    2) "java"
    127.0.0.1:6379> smembers set2
    1) "love"
    2) "i"
    3) "c++"
    4) "python"
    5) "java"
    

    12.ZSet追加要素
    ZSetに追加する要素:zadd key[NX|XX][CH][INCR]score member[score member...]
    zsetの要素を表示:zrange key start stop[WITHSCORES]
    
    127.0.0.1:6379> zadd zset1 1 i 2 love 3 java 4 c++ 5 python
    (integer) 5
    127.0.0.1:6379> zrange zset1 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "c++"
    5) "python"
    127.0.0.1:6379> zrange zset 0 -1 withscores
    (empty list or set)
    127.0.0.1:6379> zrange zset1 0 -1 withscores
     1) "i"
     2) "1"
     3) "love"
     4) "2"
     5) "java"
     6) "3"
     7) "c++"
     8) "4"
     9) "python"
    10) "5"
    

    13.Zset削除要素(zrem key member[member...])
    127.0.0.1:6379> zrange zset1 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "c++"
    5) "python"
    127.0.0.1:6379> zrem zset1 i
    (integer) 1
    127.0.0.1:6379> zrange zset1 0 -1
    1) "love"
    2) "java"
    3) "c++"
    4) "python"

    14.自動増減(zincrby key increment member)
    127.0.0.1:6379> zrange zset1 0 -1 withscores
    1) "java"
    2) "3"
    3) "c++"
    4) "4"
    5) "python"
    6) "5"
    7) "love"
    8) "8"
    127.0.0.1:6379> zincrby zset1 10 love
    "18"
    127.0.0.1:6379> zrange zset1 0 -1 withscores
    1) "java"
    2) "3"
    3) "c++"
    4) "4"
    5) "python"
    6) "5"
    7) "love"
    8) "18"
    
    127.0.0.1:6379> zincrby zset1 -5 love
    "13"
    127.0.0.1:6379> zrange zset1 0 -1 withscores
    1) "java"
    2) "3"
    3) "c++"
    4) "4"
    5) "python"
    6) "5"
    7) "love"
    8) "13"
    

    15.スコア区間範囲による検索(zrangebyscore)
    
    127.0.0.1:6379> zrange zset1 0 -1 withscores
     1) "java"
     2) "3"
     3) "c++"
     4) "4"
     5) "python"
     6) "5"
     7) "age"
     8) "10"
     9) "love"
    10) "13"
    127.0.0.1:6379> zrangebyscore zset1 5 20
    1) "python"
    2) "age"
    3) "love"

    16.インデックス番号範囲に従って削除(zremrangebyrank)
    
    127.0.0.1:6379> zadd zset1 1 i 2 love 3 java 4 python 5 c++ 6 c
    (integer) 6
    127.0.0.1:6379> zrange zset1 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "python"
    5) "c++"
    6) "c"
    127.0.0.1:6379> zremrangebyrank zset1 0 1
    (integer) 2
    127.0.0.1:6379> zrange zset1 0 -1
    1) "java"
    2) "python"
    3) "c++"
    4) "c"
    

    17.スコア範囲による削除(zremrangebyscore)
    127.0.0.1:6379> zrange zset1 0 -1 withscores
    1) "java"
    2) "3"
    3) "python"
    4) "4"
    5) "c++"
    6) "5"
    7) "c"
    8) "6"
    127.0.0.1:6379> zremrangebyscore zset1 3 5
    (integer) 3
    127.0.0.1:6379> zrange zset1 0 -1
    1) "c"
    

    18.Zset要素インデックス番号(zrankkey member)を返す
    zrevrankkey memberインデックスを逆順序で取得
    127.0.0.1:6379> zrange zset2 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "python"
    5) "c++"
    6) "c"
    127.0.0.1:6379> zrank zset2 python
    (integer) 3

    19.スコア範囲に基づいて検索(zrangebyscore)
    127.0.0.1:6379> zrange zset2 0 -1 withscores
     1) "i"
     2) "1"
     3) "love"
     4) "2"
     5) "java"
     6) "3"
     7) "python"
     8) "4"
     9) "c++"
    10) "5"
    11) "c"
    12) "6"
    127.0.0.1:6379> zrangebyscore zset2 1 3
    1) "i"
    2) "love"
    3) "java"
    127.0.0.1:6379> zrangebyscore zset2 1 3 withscores
    1) "i"
    2) "1"
    3) "love"
    4) "2"
    5) "java"
    6) "3"
    

    20.Zset要素個数(zcard key)
    
    127.0.0.1:6379> zrange zset2 0 -1
    1) "i"
    2) "love"
    3) "java"
    4) "python"
    5) "c++"
    6) "c"
    127.0.0.1:6379> zcard zset2
    (integer) 6
    

    21.Zsetスコア指定範囲要素個数(zcount key min)
    
    127.0.0.1:6379> zrange zset2 0 -1 withscores
     1) "i"
     2) "1"
     3) "love"
     4) "2"
     5) "java"
     6) "3"
     7) "python"
     8) "4"
     9) "c++"
    10) "5"
    11) "c"
    12) "6"
    127.0.0.1:6379> zcount zset2 1 3
    (integer) 3
    

    22.インデックス範囲に基づいて削除(zremrangebyrankkey start stop)
    
    127.0.0.1:6379> zrange zset2 0 -1 withscores
     1) "i"
     2) "1"
     3) "love"
     4) "2"
     5) "java"
     6) "3"
     7) "python"
     8) "4"
     9) "c++"
    10) "5"
    11) "c"
    12) "6"
    127.0.0.1:6379> zremrangebyrank zset2 0 2
    (integer) 3
    127.0.0.1:6379> zrange zset2 0 -1 withscores
    1) "python"
    2) "4"
    3) "c++"
    4) "5"
    5) "c"
    6) "6"