echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!
该文章是接上一篇文章《Redis整合SpringBoot示例》的后续,操作用例代码比较多,这里展示核心代码所占篇幅很多,所以单独抽出来写
hash类型在SpringBoot中的使用代码如下
package com.example.echo.redis;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.*;
/**
* @author XLecho
* Date 2019/11/9 0009
* Time 14:35
*/
@SpringBootTest
@RunWith(SpringRunner.class)
public class RedisTypeHashUseTest {
@Autowired
private RedisTemplate<String, String> redisTemplate;
/**
* 创建一个hash表,并存入键值对
*/
@Test
public void testHsetHash() {
redisTemplate.opsForHash().put("myHash", "name", "echo");
redisTemplate.opsForHash().put("myHash", "email", "xl_echo@163.com");
System.out.println(redisTemplate.opsForHash().entries("myHash"));
}
/**
* 在hash表中一次性插入多个元素
*/
@Test
public void testHMsetHash() {
Map<String, String> map = new HashMap<>();
map.put("name", "echo");
map.put("email", "xl_echo@163.com");
map.put("blogName", "xlecho");
redisTemplate.opsForHash().putAll("myHash", map);
System.out.println(redisTemplate.opsForHash().entries("myHash"));
}
/**
* 在hash表中批量获取key对应的值
*/
@Test
public void testHMgetHash() {
List<Object> list = new ArrayList<>();
list.add("name");
list.add("email");
list.add("blogName");
List<Object> myHash = redisTemplate.opsForHash().multiGet("myHash", list);
myHash.forEach(System.out::println);
}
/**
* 获取hash表中的所有key
*/
@Test
public void testHkeysHash() {
Set<Object> myHash = redisTemplate.opsForHash().keys("myHash");
myHash.forEach(System.out::println);
}
/**
* 获取hash表中的所有value
*/
@Test
public void testHvalsHash() {
List<Object> myHash = redisTemplate.opsForHash().values("myHash");
myHash.forEach(System.out::println);
}
/**
* 判断hash表中是否存在name这个key
*/
@Test
public void testHexistsHash() {
Boolean aBoolean = redisTemplate.opsForHash().hasKey("myHash", "name");
System.out.println(aBoolean);
}
/**
* 删除myHash中的某一个键值对
*/
@Test
public void testHdelHash() {
redisTemplate.opsForHash().delete("myHash", "name");
System.out.println(redisTemplate.opsForHash().entries("myHash"));
}
/**
* 获取myHash的长度
*/
@Test
public void testHlenHash() {
System.out.println(redisTemplate.opsForHash().size("myHash"));
}
}
项目源码地址:https://coding.net/u/xlsorry/p/SpringBootRedis/git