Spring Boot整合-redis
目标:在Spring Boot项目中使用Junit测试Redis Template的使用
分析:
1.添加启动器依赖:spring-boot-starter-data-redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
2.配置application.yml中修改redis的连接参数;(redis需要启动)
spring:
redis:
#主机地址
host: localhost
#连接端口
port: 6379
3.编写测试类应用RedisTemplate操作redis中的5中数据类型(string/hash/list/set/sorted set)测试类都放在test.java文件夹下
@RunWith(SpringRunner.class)
@SpringBootTest
public class redis {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void test(){
//string 字符串
//redisTemplate.opsForValue().set("str","heima");
redisTemplate.boundValueOps("str").set("heima");
System.out.println("str = "+ redisTemplate.opsForValue().get("str"));
//hash 散列
redisTemplate.boundHashOps("h_key").put("name"/*域名*/,"heima");
redisTemplate.boundHashOps("h_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("l_key").leftPush("c");
redisTemplate.boundListOps("l_key").leftPush("b");
redisTemplate.boundListOps("l_key").leftPush("a");
//获取全部元素 range(0,-1)表示所有元素
list = redisTemplate.boundListOps("l_key").range(0,-1);
System.out.println("list列表中的所有元素:"+list);
//set(无序)集合
redisTemplate.boundSetOps("s_key").add("a","b","c");
set = redisTemplate.boundSetOps("s_key").members();
System.out.println("set集合中的所有元素"+set);
//sorted set 有序集合,按分数从小到大排序。
redisTemplate.boundZSetOps("z_key").add("a",30);
redisTemplate.boundZSetOps("z_key").add("b",20);
redisTemplate.boundZSetOps("z_key").add("c",10);
set =redisTemplate.boundZSetOps("z_key").range(0,-1);
System.out.println("zset有序集合中的所有元素"+set);
}
}