Redisデータ構造--Hash共通コマンド
9103 ワード
hashを作成するには:
フォーマット:
フォーマット:
フォーマット:
取得hash:
フォーマット:
フォーマット:
フォーマット:
フォーマット:
フォーマット:
フォーマット:
hashの削除
フォーマット:
hashの変更
hashを修正して直接対応するsetメソッドで元の値を上書きします
その他
フォーマット:
フォーマット:
フォーマット:
フォーマット:
特別な
フォーマット:
例
フォーマット:
hset key field value
例:hset myhash username root
役割:hash内のフィールドの値を設定成功:1を返す失敗:0を返すフォーマット:
hmset key field value [field value ...]
例:hset myhash username root password 123456
役割:hash内の複数のフィールドの値を設定成功:OK失敗:0を返すフォーマット:
hsetnx key field value
例:hsetnx myhash id 1
役割:hashのフィールドを設定し、フィールドが存在しない場合に有効に成功します:戻り1失敗:戻り0取得hash:
フォーマット:
hget key field
例:hget myhash username
役割:hashのfieldの値を取得成功:対応するvalueを返す失敗:nilを返すフォーマット:
hgetall key
例:hgetall myhash
役割:hashからすべてのドメインと値を読み込み成功:すべてのドメインと値を返し、フォーマットは:ドメイン(改行)値(改行)ドメイン(改行)...失敗:empty list or setを返します(理由:keyが作成されていないか値がありません)フォーマット:
hmget key field [field ...]
例:hmget myhash id name
役割:hashで指定したフィールドの値を取得成功:hashで指定したフィールドの値を返し、各行に1つの失敗:nilを返します(入力が正しいことを確認します)フォーマット:
hlen key
例:hlen myhash
役割:hash内のすべてのフィールドの数を取得成功:hash内のすべてのフィールドの数を返す失敗:0(keyが存在しないか値がない)フォーマット:
hkeys key
例:hkeys myhash
役割:hash内のすべてのフィールド名を取得成功:hash内のフィールド名を返し、各行に1つの失敗:empty list or setを返すフォーマット:
hvals key
例:hvals myhash
役割:すべてのvalue値を取得成功:hashの値を返し、各行に1つの失敗:empty list or setを返すhashの削除
フォーマット:
hdel key field [field]
例:hdel myhash username password
役割:1つ以上のhashを削除するfield成功:削除の個数を返す失敗:0を返すhashの変更
hashを修正して直接対応するsetメソッドで元の値を上書きします
その他
フォーマット:
hexists key field
例:hexists myhash username
役割:hashに指定field成功があるかどうかを判断する:1失敗を返す:0を返すフォーマット:
hincrby key field increment
例:hincrby myhash age 3
作用:hashで指定したドメインの値をincrementで増加させることに成功しました:増加した値を返すことに失敗しました:ERR hash value is not an integer(増加したドメインは整数ではありません)注意:返された値がincrementの場合、このfieldがもともと存在しないためかもしれません!このメソッドは対応するfieldを作成しますフォーマット:
hincrbyfloat key field increment
例:hincrbyfloat myhash wage 200.3
作用:hashで指定したドメインの値をincrement(浮動小数点数)増加させることに成功しました:増加した値を返すことに失敗しました:ERR hash value is not an float(増加したドメインは浮動小数点数ではありません)注意:返された値がincrementの場合、このfieldがもともと存在しないためかもしれません!このメソッドは対応するfieldを作成しますフォーマット:
hstrlen key field
例:hstrlen myhash username
役割:hash指定ドメインの値の取得に成功しました:指定ドメインの値を返す長さに失敗しました:0を返します(ドメインは存在しません)特別な
フォーマット:
hscan key cursor [MATCH pattern] [COUNT count]
例:hscan myhash 0 mathch *d* count 5
役割:反復データセット成功:1行目はカーソルを返し、2行目は今回の反復の要素失敗:1行目はカーソルを返し、2行目はempty list or setを返す例
127.0.0.1:6379> hset myhash username root
(integer) 0
127.0.0.1:6379> hdel myhash
(error) ERR wrong number of arguments for 'hdel' command
127.0.0.1:6379> hdel myhash username
(integer) 1
127.0.0.1:6379> clear
127.0.0.1:6379> hset myhash username root
(integer) 1
127.0.0.1:6379> hset myhash username root
(integer) 0
127.0.0.1:6379> hmset myhash username root password 123456
OK
127.0.0.1:6379> hsetnx myhash id 1
(integer) 1
127.0.0.1:6379> hget myhash username
"root"
127.0.0.1:6379> hgetall myhash
1) "username"
2) "root"
3) "password"
4) "123456"
5) "id"
6) "1"
127.0.0.1:6379> hmget username password
1) (nil)
127.0.0.1:6379> hmget myhash username password
1) "root"
2) "123456"
127.0.0.1:6379> hkeys myhash
1) "username"
2) "password"
3) "id"
127.0.0.1:6379> hvals myhash
1) "root"
2) "123456"
3) "1"
127.0.0.1:6379> hdel myhash username password
(integer) 2
127.0.0.1:6379> hset myhash id 2
(integer) 0
127.0.0.1:6379> hexists myhash username
(integer) 0
127.0.0.1:6379> hincrby myhash age 3
(integer) 3
127.0.0.1:6379> hincrbyfloat myhash wage 200.3
"200.3"
127.0.0.1:6379> hstrlen myhash username
(integer) 0
127.0.0.1:6379> hset myhash username root
(integer) 1
127.0.0.1:6379> hstrlen myhash username
(integer) 4