Hash数据结构
添加元素
HSET
HSET可以set多个kv数据,但redis的版本需要Redis4.0及以上
- Redis Command
- Java
127.0.0.1:6379> HSET student:001 name l4
(integer) 1
redisTemplate.opsForHash().put("student:002","name","z3");
HMSET 添加多个
- Redis Command
- Java
127.0.0.1:6379> HMSET student:002 id 12 name w5 age 17
ok
Map<String,String> map = new HashMap();
map.put("id","14");
map.put("name","l8");
redisTemplate.opsForHash().putAll("student:004",map);
获取数据
HGET
- Redis Command
- Java
127.0.0.1:6379> HGET student:002 id 12
12
Map<String,String> map = new HashMap();
map.put("id","14");
map.put("name","l8");
redisTemplate.opsForHash().get("student:002","id");
HMGET
- Redis Command
- Java
127.0.0.1:6379> HMSET student:002 id 12 name w5 age 17
ok
Map<String,String> map = new HashMap();
map.put("id","14");
map.put("name","l8");
redisTemplate.opsForHash().putAll("student:004",map);
HDEL
删除key
- Redis Command
- Java
127.0.0.1:6379> HDEL student:002 id
(integer) 1
redisTemplate.opsForHash().delete("student:002","name");
HGETALL
获取key的所有value
- Redis Command
127.0.0.1:6379> HGETALL student:001
HLEN key数量
- Redis Command
- Java
127.0.0.1:6379> HLEN student:002
(integer) 2
redisTemplate.opsForHash().size("student:002")
HEXISTS 是否包含某key
- Redis Command
- Java
127.0.0.1:6379> HEXTISIS student:002 id
(integer) 1
redisTemplate.opsForHash().hasKey("student:002", "id")
HKEYS
获取所有键值对的key
- Redis Command
- Java
localhost:6379> HKEYS student:002
1) "name"
2) "id"
3) "age"
redisTemplate.opsForHash().keys("student:002")
HVALS
获取所有键值对的value
- Redis Command
- Java
localhost:6379> HVALS student:002
1) "3"
2) "12"
3) "15"
redisTemplate.opsForHash().values("student:002")