(八)Springboot整合Redis(RedisTemplate,使用Junit进行测试)

前言

Springboot使用RedisTemplate来操作redis

步骤:
1.引入测试与redis依赖
2.配置application.yml配置文件
3.创建测试类写入注解
4.测试Redis(String、hash、set、list、sorted Set)

1.pom.xml引入坐标
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>

        </dependency>
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
2.配置application.yml

地址、端口号、密码

spring:
  redis:
    host: 192.168.182.129
    port: 6379
    password: 111111

3.创建测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTest {

    @Autowired
    private RedisTemplate redisTemplate;

}

4.测试

这里用两种写法,后面我们用一种
String

	@Test
    public void testString(){
        //字符串
        redisTemplate.opsForValue().set("name","tony");
        System.out.println(redisTemplate.opsForValue().get("name"));
        redisTemplate.boundValueOps("name").set("mike");
        System.out.println(redisTemplate.boundValueOps("name").get());

    }

结果:
tony
mike

Hash

	@Test
    public void testHash(){
        //散列
        redisTemplate.boundHashOps("student").put("name","tom");
        redisTemplate.boundHashOps("student").put("age",11);

        System.out.println(redisTemplate.boundHashOps("student").keys());

        System.out.println(redisTemplate.boundHashOps("student").values());

        System.out.println(redisTemplate.boundHashOps("student").entries().get("name"));
    }

结果:
[age, name]
[11, tom]
tom

List

    @Test
    public void testList(){
        //列表
        redisTemplate.boundListOps("list_test").leftPushAll("list1","list2","list3");

        System.out.println(redisTemplate.boundListOps("list_test").range(0, -1));

    }

结果:
[list3, list2, list1]

Set

    @Test
    public void testSet(){
        //集合
        redisTemplate.boundSetOps("set_test").add("set1","set2","set3","set4");

        System.out.println(redisTemplate.boundSetOps("set_test").members());

    }

结果:
[set1, set4, set3, set2]

有序集合

  @Test
    public void testSortedSet(){

        redisTemplate.boundZSetOps("zset_test").add("zset1",5);
        redisTemplate.boundZSetOps("zset_test").add("zset2",2);
        redisTemplate.boundZSetOps("zset_test").add("zset3",4);
        redisTemplate.boundZSetOps("zset_test").add("zset4",3);
        System.out.println(redisTemplate.boundZSetOps("zset_test").range(0, -1));

    }

结果:
[zset2, zset4, zset3, zset1]

帮助到您请点赞关注收藏谢谢!!!
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Spring Boot中,你可以通过注解来方便地使用Redis。首先,确保你的Spring Boot应用程序中已经添加了Redis的依赖。 接下来,你可以使用`@EnableCaching`注解来开启缓存功能,并且指定使用Redis作为缓存管理器。在你的Spring Boot应用程序的主类上添加如下注解: ```java @EnableCaching @SpringBootApplication public class YourApplication { // ... } ``` 然后,你可以在需要使用缓存的方法上添加`@Cacheable`、`@CachePut`、`@CacheEvict`等注解来指定缓存的行为。 - `@Cacheable`:将方法结果缓存起来。在下次相同参数调用时,将直接从缓存中获取结果,而不执行方法体。 - `@CachePut`:将方法结果更新到缓存中。每次方法被调用时,都会执行方法体,并将结果缓存起来。 - `@CacheEvict`:从缓存中删除指定的缓存条目。 以下是一个示例: ```java @Service public class YourService { @Autowired private YourRepository repository; @Cacheable("yourCacheName") public List<YourObject> getCachedData(String key) { return repository.getData(key); } @CachePut("yourCacheName") public List<YourObject> updateCachedData(String key) { return repository.getData(key); } @CacheEvict("yourCacheName") public void clearCache(String key) { // 缓存清除后,方法体会被执行 } } ``` 在上述示例中,`@Cacheable("yourCacheName")`表示将方法的返回结果缓存起来,并指定缓存名为"yourCacheName",方法参数作为缓存的键值。`@CachePut("yourCacheName")`表示每次方法调用都会执行方法体,并将结果更新到缓存中。`@CacheEvict("yourCacheName")`表示从缓存中删除指定的缓存条目。 在配置文件中,你还需要配置Redis的连接信息。可以在application.properties或application.yml文件中添加以下配置: ```properties spring.redis.host=localhost spring.redis.port=6379 spring.redis.password=yourpassword (如果有密码的话) ``` 通过以上步骤,你就可以在Spring Boot应用程序中方便地使用Redis进行缓存了。注意,你需要确保已经正确安装和启动了Redis服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值