目标:在Spring Boot项目中使用Junit测试RedisTemplate的使用
分析:
1、添加启动依赖:spring-boot-starter-data-redis
2、配置application.yml中修改redis的连接参数;(redis需要启动)
redis:
host: localhost
port: 6379
3、编写测试类应用RedisTemplate操作redis中的5中数据类型(string/hash/list/set/sorted set)
小结:
@RunWith(SpringRunner.class)//环境
@SpringBootTest//测试类
public class RedisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test//测试类必须加的注解
public void test(){
//字符串
//redisTemplate.opsForValue().set("str","hei");
redisTemplate.boundValueOps("str").set("hei");
System.out.println("str="+redisTemplate.opsForValue().get("str"));
//hash散列
redisTemplate.boundHashOps("b_key").put("name","hei");
redisTemplate.boundHashOps("b_key").put("age",13);
//获取所有域
Set set=redisTemplate.boundHashOps("h_key").keys();
System.out.println("hash散列的所有域"+set);
//获取所有值
List list=redisTemplate.boundHashOps("h_key").values();
System.out.println("hash散列的所有域"+list);
//list列表
redisTemplate.boundListOps("i_key").leftPush("c");
redisTemplate.boundListOps("i_key").leftPush("b");
redisTemplate.boundListOps("i_key").leftPush("a");
//获取全部元素
List i_key = redisTemplate.boundListOps("i_key").range(0, -1);//-1代表最后
System.out.println("list列表的元素="+i_key);
//set集合
redisTemplate.boundSetOps("s_key").add("a","b","c");
Set s_key = redisTemplate.boundSetOps("s_key").members();
System.out.println("set集合中的所有元素="+s_key);
//sorted set有序集合
redisTemplate.boundZSetOps("z_key").add("c",50);//后面的数值是分值,为了前面字母比较用
redisTemplate.boundZSetOps("z_key").add("a",40);
redisTemplate.boundZSetOps("z_key").add("b",20);
Set z_key = redisTemplate.boundZSetOps("z_key").range(0, -1);
System.out.println("有序集合元素="+z_key);
}
}
结果
str=hei
hash散列的所有域[name, age]
hash散列的所有域[hei, 13]
list列表的元素=[a, b, c]
set集合中的所有元素=[c, b, a]
有序集合元素=[b, a, c]