Redis哈希(Hash)
概述
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
hset
为单个字段设置值
hset key 字段名 值
127.0.0.1:6379> hset h1 username root
(integer) 1
127.0.0.1:6379> hset h1 password 123456
(integer) 1
hget
获取字段的值
hget key 字段名
127.0.0.1:6379> hget h1 username
“root”
127.0.0.1:6379> hget h1 password
“123456”
hmset
为多个字段一起设置值
hmset key 字段名1 值 字段名2 值 …
127.0.0.1:6379> hmset h2 username ledao password 333
OK
hmget
获取多个字段的值
hmget key 字段名1 字段名2 …
127.0.0.1:6379> hmget h2 username password
1)”ledao”
2)”333”
hgetall
获取全部字段的值
hgetall key
127.0.0.1:6379> hgetall h2
1)”username”
2)”ledao”
3)”password”
4)”333”
hdel
删除属性,可以一次删除一个或者多个
hdel key 字段名1 字段名2 …
127.0.0.1:6379> hdel h2 username password
(integer) 2
127.0.0.1:6379> hgetall h2
(empty list or set)
hincrby
给字段的值加一个数,这个字段的值的数据类型要为integer
hincrby key 字段名 数值
127.0.0.1:6379> hset h1 age 20
(integer) 1
127.0.0.1:6379> hgetall h1
1)”username”
2)”root”
3)”password”
4)”123456”
5)”age”
6)”20”
127.0.0.1:6379> hincrby h1 age 5
(integer) 25
hexists
判断字段是否存在,1表示存在,0表示不存在
hexists key 字段名
127.0.0.1:6379> hexists h1 age
(integer) 1
127.0.0.1:6379> hexists h1 age2
(integer) 0
hlen
获取hash属性个数
hlen key
127.0.0.1:6379> hlen h1
(integer) 3
hkeys
获取所有属性名称
hkeys key
127.0.0.1:6379> hkeys h1
1)”username”
2)”password”
3)”age”
hvals
获取所有属性值
hvals key
127.0.0.1:6379> hvals h1
1)”root”
2)”123456”
3)”25”
Java代码
1 | package com.ledao.jedis; |